zilmate 1.7.8 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/agent-browser/SKILL.md +55 -0
- package/.agents/skills/agentmail/SKILL.md +282 -0
- package/.agents/skills/agentmail/references/webhooks.md +220 -0
- package/.agents/skills/agentmail/references/websockets.md +263 -0
- package/.agents/skills/ai-elements/SKILL.md +160 -0
- package/.agents/skills/ai-elements/references/agent.md +134 -0
- package/.agents/skills/ai-elements/references/artifact.md +84 -0
- package/.agents/skills/ai-elements/references/attachments.md +190 -0
- package/.agents/skills/ai-elements/references/audio-player.md +134 -0
- package/.agents/skills/ai-elements/references/canvas.md +34 -0
- package/.agents/skills/ai-elements/references/chain-of-thought.md +81 -0
- package/.agents/skills/ai-elements/references/checkpoint.md +183 -0
- package/.agents/skills/ai-elements/references/code-block.md +170 -0
- package/.agents/skills/ai-elements/references/commit.md +177 -0
- package/.agents/skills/ai-elements/references/confirmation.md +262 -0
- package/.agents/skills/ai-elements/references/connection.md +34 -0
- package/.agents/skills/ai-elements/references/context.md +126 -0
- package/.agents/skills/ai-elements/references/controls.md +32 -0
- package/.agents/skills/ai-elements/references/conversation.md +224 -0
- package/.agents/skills/ai-elements/references/edge.md +52 -0
- package/.agents/skills/ai-elements/references/environment-variables.md +102 -0
- package/.agents/skills/ai-elements/references/file-tree.md +72 -0
- package/.agents/skills/ai-elements/references/image.md +146 -0
- package/.agents/skills/ai-elements/references/inline-citation.md +299 -0
- package/.agents/skills/ai-elements/references/jsx-preview.md +104 -0
- package/.agents/skills/ai-elements/references/message.md +237 -0
- package/.agents/skills/ai-elements/references/mic-selector.md +189 -0
- package/.agents/skills/ai-elements/references/model-selector.md +112 -0
- package/.agents/skills/ai-elements/references/node.md +73 -0
- package/.agents/skills/ai-elements/references/open-in-chat.md +67 -0
- package/.agents/skills/ai-elements/references/package-info.md +95 -0
- package/.agents/skills/ai-elements/references/panel.md +33 -0
- package/.agents/skills/ai-elements/references/persona.md +166 -0
- package/.agents/skills/ai-elements/references/plan.md +79 -0
- package/.agents/skills/ai-elements/references/prompt-input.md +579 -0
- package/.agents/skills/ai-elements/references/queue.md +172 -0
- package/.agents/skills/ai-elements/references/reasoning.md +238 -0
- package/.agents/skills/ai-elements/references/sandbox.md +129 -0
- package/.agents/skills/ai-elements/references/schema-display.md +102 -0
- package/.agents/skills/ai-elements/references/shimmer.md +48 -0
- package/.agents/skills/ai-elements/references/snippet.md +64 -0
- package/.agents/skills/ai-elements/references/sources.md +209 -0
- package/.agents/skills/ai-elements/references/speech-input.md +163 -0
- package/.agents/skills/ai-elements/references/stack-trace.md +224 -0
- package/.agents/skills/ai-elements/references/suggestion.md +124 -0
- package/.agents/skills/ai-elements/references/task.md +222 -0
- package/.agents/skills/ai-elements/references/terminal.md +103 -0
- package/.agents/skills/ai-elements/references/test-results.md +157 -0
- package/.agents/skills/ai-elements/references/tool.md +285 -0
- package/.agents/skills/ai-elements/references/toolbar.md +32 -0
- package/.agents/skills/ai-elements/references/transcription.md +120 -0
- package/.agents/skills/ai-elements/references/voice-selector.md +241 -0
- package/.agents/skills/ai-elements/references/web-preview.md +200 -0
- package/.agents/skills/ai-elements/scripts/agent.tsx +61 -0
- package/.agents/skills/ai-elements/scripts/artifact.tsx +127 -0
- package/.agents/skills/ai-elements/scripts/attachments-inline.tsx +128 -0
- package/.agents/skills/ai-elements/scripts/attachments-list.tsx +95 -0
- package/.agents/skills/ai-elements/scripts/attachments.tsx +85 -0
- package/.agents/skills/ai-elements/scripts/audio-player-remote.tsx +35 -0
- package/.agents/skills/ai-elements/scripts/audio-player.tsx +68 -0
- package/.agents/skills/ai-elements/scripts/chain-of-thought.tsx +82 -0
- package/.agents/skills/ai-elements/scripts/checkpoint.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/code-block-dark.tsx +46 -0
- package/.agents/skills/ai-elements/scripts/code-block.tsx +120 -0
- package/.agents/skills/ai-elements/scripts/commit.tsx +94 -0
- package/.agents/skills/ai-elements/scripts/confirmation-accepted.tsx +40 -0
- package/.agents/skills/ai-elements/scripts/confirmation-rejected.tsx +40 -0
- package/.agents/skills/ai-elements/scripts/confirmation-request.tsx +54 -0
- package/.agents/skills/ai-elements/scripts/confirmation.tsx +55 -0
- package/.agents/skills/ai-elements/scripts/context.tsx +45 -0
- package/.agents/skills/ai-elements/scripts/conversation.tsx +177 -0
- package/.agents/skills/ai-elements/scripts/environment-variables.tsx +62 -0
- package/.agents/skills/ai-elements/scripts/file-tree-basic.tsx +18 -0
- package/.agents/skills/ai-elements/scripts/file-tree-expanded.tsx +21 -0
- package/.agents/skills/ai-elements/scripts/file-tree-selection.tsx +24 -0
- package/.agents/skills/ai-elements/scripts/file-tree.tsx +42 -0
- package/.agents/skills/ai-elements/scripts/image.tsx +20 -0
- package/.agents/skills/ai-elements/scripts/inline-citation.tsx +97 -0
- package/.agents/skills/ai-elements/scripts/jsx-preview.tsx +104 -0
- package/.agents/skills/ai-elements/scripts/message.tsx +365 -0
- package/.agents/skills/ai-elements/scripts/mic-selector.tsx +49 -0
- package/.agents/skills/ai-elements/scripts/model-selector.tsx +365 -0
- package/.agents/skills/ai-elements/scripts/open-in-chat.tsx +33 -0
- package/.agents/skills/ai-elements/scripts/package-info.tsx +51 -0
- package/.agents/skills/ai-elements/scripts/persona-command.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-glint.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-halo.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-mana.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-obsidian.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-opal.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/plan.tsx +65 -0
- package/.agents/skills/ai-elements/scripts/prompt-input-cursor.tsx +502 -0
- package/.agents/skills/ai-elements/scripts/prompt-input-tooltip.tsx +44 -0
- package/.agents/skills/ai-elements/scripts/prompt-input.tsx +267 -0
- package/.agents/skills/ai-elements/scripts/queue-prompt-input.tsx +394 -0
- package/.agents/skills/ai-elements/scripts/queue.tsx +295 -0
- package/.agents/skills/ai-elements/scripts/reasoning.tsx +71 -0
- package/.agents/skills/ai-elements/scripts/sandbox.tsx +178 -0
- package/.agents/skills/ai-elements/scripts/schema-display-basic.tsx +9 -0
- package/.agents/skills/ai-elements/scripts/schema-display-body.tsx +20 -0
- package/.agents/skills/ai-elements/scripts/schema-display-nested.tsx +23 -0
- package/.agents/skills/ai-elements/scripts/schema-display-params.tsx +16 -0
- package/.agents/skills/ai-elements/scripts/schema-display.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/shimmer-duration.tsx +31 -0
- package/.agents/skills/ai-elements/scripts/shimmer-elements.tsx +43 -0
- package/.agents/skills/ai-elements/scripts/shimmer.tsx +17 -0
- package/.agents/skills/ai-elements/scripts/snippet-plain.tsx +19 -0
- package/.agents/skills/ai-elements/scripts/snippet.tsx +25 -0
- package/.agents/skills/ai-elements/scripts/sources-custom.tsx +39 -0
- package/.agents/skills/ai-elements/scripts/sources.tsx +32 -0
- package/.agents/skills/ai-elements/scripts/speech-input.tsx +84 -0
- package/.agents/skills/ai-elements/scripts/stack-trace-collapsed.tsx +39 -0
- package/.agents/skills/ai-elements/scripts/stack-trace-no-internal.tsx +41 -0
- package/.agents/skills/ai-elements/scripts/stack-trace.tsx +58 -0
- package/.agents/skills/ai-elements/scripts/suggestion-input.tsx +144 -0
- package/.agents/skills/ai-elements/scripts/suggestion.tsx +32 -0
- package/.agents/skills/ai-elements/scripts/task.tsx +59 -0
- package/.agents/skills/ai-elements/scripts/terminal-basic.tsx +7 -0
- package/.agents/skills/ai-elements/scripts/terminal-clear.tsx +19 -0
- package/.agents/skills/ai-elements/scripts/terminal-streaming.tsx +38 -0
- package/.agents/skills/ai-elements/scripts/terminal.tsx +82 -0
- package/.agents/skills/ai-elements/scripts/test-results-basic.tsx +27 -0
- package/.agents/skills/ai-elements/scripts/test-results-errors.tsx +51 -0
- package/.agents/skills/ai-elements/scripts/test-results-suites.tsx +40 -0
- package/.agents/skills/ai-elements/scripts/test-results.tsx +102 -0
- package/.agents/skills/ai-elements/scripts/tool-input-available.tsx +31 -0
- package/.agents/skills/ai-elements/scripts/tool-input-streaming.tsx +30 -0
- package/.agents/skills/ai-elements/scripts/tool-output-available.tsx +80 -0
- package/.agents/skills/ai-elements/scripts/tool-output-error.tsx +44 -0
- package/.agents/skills/ai-elements/scripts/tool.tsx +222 -0
- package/.agents/skills/ai-elements/scripts/transcription.tsx +290 -0
- package/.agents/skills/ai-elements/scripts/voice-selector.tsx +245 -0
- package/.agents/skills/ai-elements/scripts/web-preview.tsx +115 -0
- package/.agents/skills/ai-sdk/SKILL.md +78 -0
- package/.agents/skills/ai-sdk/references/ai-gateway.md +66 -0
- package/.agents/skills/ai-sdk/references/common-errors.md +443 -0
- package/.agents/skills/ai-sdk/references/devtools.md +52 -0
- package/.agents/skills/ai-sdk/references/type-safe-agents.md +204 -0
- package/.agents/skills/chat-sdk/SKILL.md +240 -0
- package/.agents/skills/composio/AGENTS.md +404 -0
- package/.agents/skills/composio/SKILL.md +55 -0
- package/.agents/skills/composio/rules/_template.md +38 -0
- package/.agents/skills/composio/rules/app-auth-configs.md +224 -0
- package/.agents/skills/composio/rules/app-auth-popup-ui.md +143 -0
- package/.agents/skills/composio/rules/app-connected-accounts.md +240 -0
- package/.agents/skills/composio/rules/app-custom-tools.md +220 -0
- package/.agents/skills/composio/rules/app-execute-tools.md +202 -0
- package/.agents/skills/composio/rules/app-fetch-tools.md +292 -0
- package/.agents/skills/composio/rules/app-modifiers.md +148 -0
- package/.agents/skills/composio/rules/app-tool-versions.md +343 -0
- package/.agents/skills/composio/rules/app-toolkits.md +184 -0
- package/.agents/skills/composio/rules/app-user-context.md +222 -0
- package/.agents/skills/composio/rules/building-with-composio.md +134 -0
- package/.agents/skills/composio/rules/composio-cli.md +223 -0
- package/.agents/skills/composio/rules/setup-api-keys.md +230 -0
- package/.agents/skills/composio/rules/tr-auth-auto.md +110 -0
- package/.agents/skills/composio/rules/tr-auth-connections.md +167 -0
- package/.agents/skills/composio/rules/tr-auth-manual.md +161 -0
- package/.agents/skills/composio/rules/tr-building-chat-ui.md +348 -0
- package/.agents/skills/composio/rules/tr-framework-ai-sdk.md +240 -0
- package/.agents/skills/composio/rules/tr-framework-integration.md +818 -0
- package/.agents/skills/composio/rules/tr-framework-mastra.md +185 -0
- package/.agents/skills/composio/rules/tr-mcp-vs-native.md +248 -0
- package/.agents/skills/composio/rules/tr-session-basic.md +82 -0
- package/.agents/skills/composio/rules/tr-session-config.md +172 -0
- package/.agents/skills/composio/rules/tr-session-lifecycle.md +385 -0
- package/.agents/skills/composio/rules/tr-toolkit-query.md +135 -0
- package/.agents/skills/composio/rules/tr-userid-best-practices.md +476 -0
- package/.agents/skills/composio/rules/triggers-create.md +246 -0
- package/.agents/skills/composio/rules/triggers-manage.md +275 -0
- package/.agents/skills/composio/rules/triggers-subscribe.md +173 -0
- package/.agents/skills/composio/rules/triggers-webhook.md +227 -0
- package/.agents/skills/create-auth-skill/SKILL.md +321 -0
- package/.agents/skills/design-md/README.md +34 -0
- package/.agents/skills/design-md/SKILL.md +172 -0
- package/.agents/skills/design-md/examples/DESIGN.md +154 -0
- package/.agents/skills/expo-tailwind-setup/SKILL.md +480 -0
- package/.agents/skills/expo-tailwind-setup/agents/openai.yaml +4 -0
- package/.agents/skills/find-skills/SKILL.md +142 -0
- package/.agents/skills/firecrawl/SKILL.md +321 -0
- package/.agents/skills/firecrawl/rules/install.md +85 -0
- package/.agents/skills/firecrawl/rules/security.md +26 -0
- package/.agents/skills/frontend-design/LICENSE.txt +177 -0
- package/.agents/skills/frontend-design/SKILL.md +55 -0
- package/.agents/skills/linkup-search/SKILL.md +298 -0
- package/.agents/skills/mcp-builder/LICENSE.txt +202 -0
- package/.agents/skills/mcp-builder/SKILL.md +236 -0
- package/.agents/skills/mcp-builder/reference/evaluation.md +602 -0
- package/.agents/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/.agents/skills/mcp-builder/reference/node_mcp_server.md +970 -0
- package/.agents/skills/mcp-builder/reference/python_mcp_server.md +719 -0
- package/.agents/skills/mcp-builder/scripts/connections.py +151 -0
- package/.agents/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/.agents/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/.agents/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/.agents/skills/mobile-android-design/SKILL.md +101 -0
- package/.agents/skills/mobile-android-design/references/android-navigation.md +698 -0
- package/.agents/skills/mobile-android-design/references/compose-components.md +796 -0
- package/.agents/skills/mobile-android-design/references/details.md +337 -0
- package/.agents/skills/mobile-android-design/references/material3-theming.md +604 -0
- package/.agents/skills/mobile-ios-design/SKILL.md +259 -0
- package/.agents/skills/mobile-ios-design/references/hig-patterns.md +529 -0
- package/.agents/skills/mobile-ios-design/references/ios-navigation.md +556 -0
- package/.agents/skills/mobile-ios-design/references/swiftui-components.md +575 -0
- package/.agents/skills/neon-drizzle/SKILL.md +81 -0
- package/.agents/skills/neon-drizzle/guides/existing-project.md +398 -0
- package/.agents/skills/neon-drizzle/guides/new-project.md +312 -0
- package/.agents/skills/neon-drizzle/guides/schema-only.md +415 -0
- package/.agents/skills/neon-drizzle/guides/troubleshooting.md +539 -0
- package/.agents/skills/neon-drizzle/references/adapters.md +478 -0
- package/.agents/skills/neon-drizzle/references/migrations.md +652 -0
- package/.agents/skills/neon-drizzle/references/query-patterns.md +761 -0
- package/.agents/skills/neon-drizzle/scripts/generate-schema.ts +77 -0
- package/.agents/skills/neon-drizzle/scripts/run-migration.ts +133 -0
- package/.agents/skills/neon-drizzle/templates/db-http.ts +6 -0
- package/.agents/skills/neon-drizzle/templates/db-websocket.ts +24 -0
- package/.agents/skills/neon-drizzle/templates/drizzle-config.ts +96 -0
- package/.agents/skills/neon-drizzle/templates/schema-example.ts +231 -0
- package/.agents/skills/neon-postgres/SKILL.md +376 -0
- package/.agents/skills/next-best-practices/SKILL.md +152 -0
- package/.agents/skills/next-best-practices/async-patterns.md +87 -0
- package/.agents/skills/next-best-practices/bundling.md +180 -0
- package/.agents/skills/next-best-practices/data-patterns.md +297 -0
- package/.agents/skills/next-best-practices/debug-tricks.md +105 -0
- package/.agents/skills/next-best-practices/directives.md +73 -0
- package/.agents/skills/next-best-practices/error-handling.md +227 -0
- package/.agents/skills/next-best-practices/file-conventions.md +140 -0
- package/.agents/skills/next-best-practices/font.md +245 -0
- package/.agents/skills/next-best-practices/functions.md +108 -0
- package/.agents/skills/next-best-practices/hydration-error.md +91 -0
- package/.agents/skills/next-best-practices/image.md +173 -0
- package/.agents/skills/next-best-practices/metadata.md +301 -0
- package/.agents/skills/next-best-practices/parallel-routes.md +287 -0
- package/.agents/skills/next-best-practices/route-handlers.md +146 -0
- package/.agents/skills/next-best-practices/rsc-boundaries.md +159 -0
- package/.agents/skills/next-best-practices/runtime-selection.md +39 -0
- package/.agents/skills/next-best-practices/scripts.md +141 -0
- package/.agents/skills/next-best-practices/self-hosting.md +371 -0
- package/.agents/skills/next-best-practices/suspense-boundaries.md +67 -0
- package/.agents/skills/playwright-best-practices/SKILL.md +303 -0
- package/.agents/skills/playwright-cli/SKILL.md +404 -0
- package/.agents/skills/playwright-cli/references/element-attributes.md +23 -0
- package/.agents/skills/playwright-cli/references/playwright-tests.md +39 -0
- package/.agents/skills/playwright-cli/references/request-mocking.md +87 -0
- package/.agents/skills/playwright-cli/references/running-code.md +241 -0
- package/.agents/skills/playwright-cli/references/session-management.md +225 -0
- package/.agents/skills/playwright-cli/references/spec-driven-testing.md +305 -0
- package/.agents/skills/playwright-cli/references/storage-state.md +275 -0
- package/.agents/skills/playwright-cli/references/test-generation.md +134 -0
- package/.agents/skills/playwright-cli/references/tracing.md +139 -0
- package/.agents/skills/playwright-cli/references/video-recording.md +143 -0
- package/.agents/skills/prisma-client-api/SKILL.md +216 -0
- package/.agents/skills/prisma-client-api/references/client-methods.md +223 -0
- package/.agents/skills/prisma-client-api/references/constructor.md +208 -0
- package/.agents/skills/prisma-client-api/references/filters.md +256 -0
- package/.agents/skills/prisma-client-api/references/model-queries.md +281 -0
- package/.agents/skills/prisma-client-api/references/query-options.md +276 -0
- package/.agents/skills/prisma-client-api/references/raw-queries.md +194 -0
- package/.agents/skills/prisma-client-api/references/relations.md +308 -0
- package/.agents/skills/prisma-client-api/references/transactions.md +184 -0
- package/.agents/skills/prisma-database-setup/SKILL.md +192 -0
- package/.agents/skills/prisma-database-setup/references/cockroachdb.md +89 -0
- package/.agents/skills/prisma-database-setup/references/mongodb.md +90 -0
- package/.agents/skills/prisma-database-setup/references/mysql.md +126 -0
- package/.agents/skills/prisma-database-setup/references/postgresql.md +92 -0
- package/.agents/skills/prisma-database-setup/references/prisma-client-setup.md +47 -0
- package/.agents/skills/prisma-database-setup/references/prisma-postgres.md +130 -0
- package/.agents/skills/prisma-database-setup/references/sqlite.md +106 -0
- package/.agents/skills/prisma-database-setup/references/sqlserver.md +94 -0
- package/.agents/skills/prisma-postgres/SKILL.md +127 -0
- package/.agents/skills/prisma-postgres/references/console-and-connections.md +67 -0
- package/.agents/skills/prisma-postgres/references/create-db-cli.md +136 -0
- package/.agents/skills/prisma-postgres/references/management-api-sdk.md +56 -0
- package/.agents/skills/prisma-postgres/references/management-api.md +61 -0
- package/.agents/skills/remotion-best-practices/SKILL.md +340 -0
- package/.agents/skills/remotion-best-practices/rules/3d.md +86 -0
- package/.agents/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.agents/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.agents/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
- package/.agents/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
- package/.agents/skills/remotion-best-practices/rules/audio.md +169 -0
- package/.agents/skills/remotion-best-practices/rules/calculate-metadata.md +134 -0
- package/.agents/skills/remotion-best-practices/rules/compositions.md +133 -0
- package/.agents/skills/remotion-best-practices/rules/display-captions.md +184 -0
- package/.agents/skills/remotion-best-practices/rules/ffmpeg.md +34 -0
- package/.agents/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.agents/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.agents/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
- package/.agents/skills/remotion-best-practices/rules/gifs.md +141 -0
- package/.agents/skills/remotion-best-practices/rules/google-fonts.md +72 -0
- package/.agents/skills/remotion-best-practices/rules/html-in-canvas.md +122 -0
- package/.agents/skills/remotion-best-practices/rules/images.md +71 -0
- package/.agents/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
- package/.agents/skills/remotion-best-practices/rules/light-leaks.md +73 -0
- package/.agents/skills/remotion-best-practices/rules/local-fonts.md +65 -0
- package/.agents/skills/remotion-best-practices/rules/lottie.md +70 -0
- package/.agents/skills/remotion-best-practices/rules/maplibre.md +458 -0
- package/.agents/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/.agents/skills/remotion-best-practices/rules/measuring-text.md +140 -0
- package/.agents/skills/remotion-best-practices/rules/parameters.md +109 -0
- package/.agents/skills/remotion-best-practices/rules/sequencing.md +144 -0
- package/.agents/skills/remotion-best-practices/rules/sfx.md +30 -0
- package/.agents/skills/remotion-best-practices/rules/silence-detection.md +71 -0
- package/.agents/skills/remotion-best-practices/rules/subtitles.md +36 -0
- package/.agents/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/.agents/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/.agents/skills/remotion-best-practices/rules/timing.md +136 -0
- package/.agents/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
- package/.agents/skills/remotion-best-practices/rules/transitions.md +197 -0
- package/.agents/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/.agents/skills/remotion-best-practices/rules/trimming.md +51 -0
- package/.agents/skills/remotion-best-practices/rules/videos.md +171 -0
- package/.agents/skills/remotion-best-practices/rules/voiceover.md +99 -0
- package/.agents/skills/remotion-render/SKILL.md +212 -0
- package/.agents/skills/skill-creator/LICENSE.txt +202 -0
- package/.agents/skills/skill-creator/SKILL.md +485 -0
- package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
- package/.agents/skills/skill-creator/agents/comparator.md +202 -0
- package/.agents/skills/skill-creator/agents/grader.md +223 -0
- package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
- package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.agents/skills/skill-creator/references/schemas.md +430 -0
- package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
- package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
- package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
- package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
- package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
- package/.agents/skills/skill-creator/scripts/utils.py +47 -0
- package/.agents/skills/stripe-best-practices/SKILL.md +54 -0
- package/.agents/skills/stripe-best-practices/references/billing.md +58 -0
- package/.agents/skills/stripe-best-practices/references/connect.md +173 -0
- package/.agents/skills/stripe-best-practices/references/payments.md +79 -0
- package/.agents/skills/stripe-best-practices/references/security.md +109 -0
- package/.agents/skills/stripe-best-practices/references/tax.md +37 -0
- package/.agents/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.agents/skills/stripe-projects/SKILL.md +132 -0
- package/.agents/skills/supabase/CHANGELOG.md +35 -0
- package/.agents/skills/supabase/SKILL.md +135 -0
- package/.agents/skills/supabase/assets/feedback-issue-template.md +17 -0
- package/.agents/skills/supabase/references/skill-feedback.md +17 -0
- package/.agents/skills/supabase-postgres-best-practices/CHANGELOG.md +29 -0
- package/.agents/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/.agents/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
- package/.agents/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
- package/.agents/skills/supabase-postgres-best-practices/references/_template.md +34 -0
- package/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
- package/.agents/skills/supermemory/LICENSE +201 -0
- package/.agents/skills/supermemory/README.md +221 -0
- package/.agents/skills/supermemory/SKILL.md +172 -0
- package/.agents/skills/supermemory/references/api-reference.md +591 -0
- package/.agents/skills/supermemory/references/architecture.md +557 -0
- package/.agents/skills/supermemory/references/quickstart.md +293 -0
- package/.agents/skills/supermemory/references/sdk-guide.md +655 -0
- package/.agents/skills/supermemory/references/use-cases.md +1033 -0
- package/.agents/skills/supermemory-cli/SKILL.md +490 -0
- package/.agents/skills/tdd/SKILL.md +108 -0
- package/.agents/skills/tdd/mocking.md +59 -0
- package/.agents/skills/tdd/refactoring.md +10 -0
- package/.agents/skills/tdd/tests.md +61 -0
- package/.agents/skills/ui-ux-pro-max/SKILL.md +661 -0
- package/.agents/skills/ui-ux-pro-max/data +1 -0
- package/.agents/skills/ui-ux-pro-max/scripts +1 -0
- package/.agents/skills/vercel-react-native-skills/AGENTS.md +2897 -0
- package/.agents/skills/vercel-react-native-skills/README.md +165 -0
- package/.agents/skills/vercel-react-native-skills/SKILL.md +121 -0
- package/.agents/skills/vercel-react-native-skills/metadata.json +16 -0
- package/.agents/skills/vercel-react-native-skills/rules/_sections.md +86 -0
- package/.agents/skills/vercel-react-native-skills/rules/_template.md +28 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-derived-value.md +53 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-gesture-detector-press.md +95 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-gpu-properties.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/design-system-compound-components.md +66 -0
- package/.agents/skills/vercel-react-native-skills/rules/fonts-config-plugin.md +71 -0
- package/.agents/skills/vercel-react-native-skills/rules/imports-design-system-folder.md +68 -0
- package/.agents/skills/vercel-react-native-skills/rules/js-hoist-intl.md +61 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-callbacks.md +44 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-function-references.md +132 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-images.md +53 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-inline-objects.md +97 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-expensive.md +94 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-memo.md +82 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-types.md +104 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-virtualize.md +67 -0
- package/.agents/skills/vercel-react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
- package/.agents/skills/vercel-react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
- package/.agents/skills/vercel-react-native-skills/rules/navigation-native-navigators.md +188 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-dispatcher.md +91 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-fallback.md +56 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-minimize.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/rendering-no-falsy-and.md +74 -0
- package/.agents/skills/vercel-react-native-skills/rules/rendering-text-in-text-component.md +36 -0
- package/.agents/skills/vercel-react-native-skills/rules/scroll-position-no-state.md +82 -0
- package/.agents/skills/vercel-react-native-skills/rules/state-ground-truth.md +80 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-expo-image.md +66 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-image-gallery.md +104 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-measure-views.md +78 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-menus.md +174 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-native-modals.md +77 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-pressable.md +61 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-safe-area-scroll.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-styling.md +87 -0
- package/.agents/skills/web-design-guidelines/SKILL.md +39 -0
- package/dist/index.js +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Code Block
|
|
2
|
+
|
|
3
|
+
Provides syntax highlighting, line numbers, and copy to clipboard functionality for code blocks.
|
|
4
|
+
|
|
5
|
+
The `CodeBlock` component provides syntax highlighting, line numbers, and copy to clipboard functionality for code blocks. It's fully composable, allowing you to customize the header, actions, and content.
|
|
6
|
+
|
|
7
|
+
See `scripts/code-block.tsx` for this example.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx ai-elements@latest add code-block
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
The CodeBlock is fully composable. Here's a basic example:
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
import {
|
|
21
|
+
CodeBlock,
|
|
22
|
+
CodeBlockActions,
|
|
23
|
+
CodeBlockCopyButton,
|
|
24
|
+
CodeBlockFilename,
|
|
25
|
+
CodeBlockHeader,
|
|
26
|
+
CodeBlockTitle,
|
|
27
|
+
} from "@/components/ai-elements/code-block";
|
|
28
|
+
import { FileIcon } from "lucide-react";
|
|
29
|
+
|
|
30
|
+
export const Example = () => (
|
|
31
|
+
<CodeBlock code={code} language="typescript">
|
|
32
|
+
<CodeBlockHeader>
|
|
33
|
+
<CodeBlockTitle>
|
|
34
|
+
<FileIcon size={14} />
|
|
35
|
+
<CodeBlockFilename>example.ts</CodeBlockFilename>
|
|
36
|
+
</CodeBlockTitle>
|
|
37
|
+
<CodeBlockActions>
|
|
38
|
+
<CodeBlockCopyButton />
|
|
39
|
+
</CodeBlockActions>
|
|
40
|
+
</CodeBlockHeader>
|
|
41
|
+
</CodeBlock>
|
|
42
|
+
);
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Features
|
|
46
|
+
|
|
47
|
+
- Syntax highlighting with Shiki
|
|
48
|
+
- Line numbers (optional)
|
|
49
|
+
- Copy to clipboard functionality
|
|
50
|
+
- Automatic light/dark theme switching via CSS variables
|
|
51
|
+
- Language selector for multi-language examples
|
|
52
|
+
- Fully composable architecture
|
|
53
|
+
- Accessible design
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
|
|
57
|
+
### Dark Mode
|
|
58
|
+
|
|
59
|
+
To use the `CodeBlock` component in dark mode, wrap it in a `div` with the `dark` class.
|
|
60
|
+
|
|
61
|
+
See `scripts/code-block-dark.tsx` for this example.
|
|
62
|
+
|
|
63
|
+
### Language Selector
|
|
64
|
+
|
|
65
|
+
Add a language selector to switch between different code implementations:
|
|
66
|
+
|
|
67
|
+
See `scripts/code-block.tsx` for this example.
|
|
68
|
+
|
|
69
|
+
## Props
|
|
70
|
+
|
|
71
|
+
### `<CodeBlock />`
|
|
72
|
+
|
|
73
|
+
| Prop | Type | Default | Description |
|
|
74
|
+
|------|------|---------|-------------|
|
|
75
|
+
| `code` | `string` | - | The code content to display. |
|
|
76
|
+
| `language` | `BundledLanguage` | - | The programming language for syntax highlighting. |
|
|
77
|
+
| `showLineNumbers` | `boolean` | `false` | Whether to show line numbers. |
|
|
78
|
+
| `children` | `React.ReactNode` | - | Child elements like CodeBlockHeader. |
|
|
79
|
+
| `className` | `string` | - | Additional CSS classes. |
|
|
80
|
+
|
|
81
|
+
### `<CodeBlockHeader />`
|
|
82
|
+
|
|
83
|
+
Container for the header row. Uses flexbox with `justify-between`.
|
|
84
|
+
|
|
85
|
+
| Prop | Type | Default | Description |
|
|
86
|
+
|------|------|---------|-------------|
|
|
87
|
+
| `children` | `React.ReactNode` | - | Header content (CodeBlockTitle, CodeBlockActions, etc.). |
|
|
88
|
+
| `className` | `string` | - | Additional CSS classes. |
|
|
89
|
+
|
|
90
|
+
### `<CodeBlockTitle />`
|
|
91
|
+
|
|
92
|
+
Left-aligned container for icon and filename. Uses flexbox with `gap-2`.
|
|
93
|
+
|
|
94
|
+
| Prop | Type | Default | Description |
|
|
95
|
+
|------|------|---------|-------------|
|
|
96
|
+
| `children` | `React.ReactNode` | - | Title content (icon, CodeBlockFilename, etc.). |
|
|
97
|
+
| `className` | `string` | - | Additional CSS classes. |
|
|
98
|
+
|
|
99
|
+
### `<CodeBlockFilename />`
|
|
100
|
+
|
|
101
|
+
Displays the filename in monospace font.
|
|
102
|
+
|
|
103
|
+
| Prop | Type | Default | Description |
|
|
104
|
+
|------|------|---------|-------------|
|
|
105
|
+
| `children` | `React.ReactNode` | - | The filename to display. |
|
|
106
|
+
| `className` | `string` | - | Additional CSS classes. |
|
|
107
|
+
|
|
108
|
+
### `<CodeBlockActions />`
|
|
109
|
+
|
|
110
|
+
Right-aligned container for action buttons. Uses flexbox with `gap-2`.
|
|
111
|
+
|
|
112
|
+
| Prop | Type | Default | Description |
|
|
113
|
+
|------|------|---------|-------------|
|
|
114
|
+
| `children` | `React.ReactNode` | - | Action buttons (CodeBlockCopyButton, CodeBlockLanguageSelector, etc.). |
|
|
115
|
+
| `className` | `string` | - | Additional CSS classes. |
|
|
116
|
+
|
|
117
|
+
### `<CodeBlockCopyButton />`
|
|
118
|
+
|
|
119
|
+
| Prop | Type | Default | Description |
|
|
120
|
+
|------|------|---------|-------------|
|
|
121
|
+
| `onCopy` | `() => void` | - | Callback fired after a successful copy. |
|
|
122
|
+
| `onError` | `(error: Error) => void` | - | Callback fired if copying fails. |
|
|
123
|
+
| `timeout` | `number` | `2000` | How long to show the copied state (ms). |
|
|
124
|
+
| `children` | `React.ReactNode` | - | Custom content for the button. Defaults to copy/check icons. |
|
|
125
|
+
| `className` | `string` | - | Additional CSS classes. |
|
|
126
|
+
|
|
127
|
+
### `<CodeBlockLanguageSelector />`
|
|
128
|
+
|
|
129
|
+
Wrapper for the language selector. Extends shadcn/ui Select.
|
|
130
|
+
|
|
131
|
+
| Prop | Type | Default | Description |
|
|
132
|
+
|------|------|---------|-------------|
|
|
133
|
+
| `value` | `string` | - | The currently selected language. |
|
|
134
|
+
| `onValueChange` | `(value: string) => void` | - | Callback when the language changes. |
|
|
135
|
+
| `children` | `React.ReactNode` | - | Selector components (Trigger, Content, Items). |
|
|
136
|
+
|
|
137
|
+
### `<CodeBlockLanguageSelectorTrigger />`
|
|
138
|
+
|
|
139
|
+
Trigger button for the language selector dropdown. Pre-styled for code block header.
|
|
140
|
+
|
|
141
|
+
### `<CodeBlockLanguageSelectorValue />`
|
|
142
|
+
|
|
143
|
+
Displays the selected language value.
|
|
144
|
+
|
|
145
|
+
### `<CodeBlockLanguageSelectorContent />`
|
|
146
|
+
|
|
147
|
+
Dropdown content container. Defaults to `align="end"`.
|
|
148
|
+
|
|
149
|
+
### `<CodeBlockLanguageSelectorItem />`
|
|
150
|
+
|
|
151
|
+
Individual language option in the dropdown.
|
|
152
|
+
|
|
153
|
+
| Prop | Type | Default | Description |
|
|
154
|
+
|------|------|---------|-------------|
|
|
155
|
+
| `value` | `string` | - | The language value. |
|
|
156
|
+
| `children` | `React.ReactNode` | - | The display label. |
|
|
157
|
+
|
|
158
|
+
### `<CodeBlockContainer />`
|
|
159
|
+
|
|
160
|
+
Low-level container component with performance optimizations (`contentVisibility`). Used internally by CodeBlock.
|
|
161
|
+
|
|
162
|
+
### `<CodeBlockContent />`
|
|
163
|
+
|
|
164
|
+
Low-level component that handles syntax highlighting. Used internally by CodeBlock, but can be used directly for custom layouts.
|
|
165
|
+
|
|
166
|
+
| Prop | Type | Default | Description |
|
|
167
|
+
|------|------|---------|-------------|
|
|
168
|
+
| `code` | `string` | - | The code content to display. |
|
|
169
|
+
| `language` | `BundledLanguage` | - | The programming language for syntax highlighting. |
|
|
170
|
+
| `showLineNumbers` | `boolean` | `false` | Whether to show line numbers. |
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# Commit
|
|
2
|
+
|
|
3
|
+
Display commit information with hash, message, author, and file changes.
|
|
4
|
+
|
|
5
|
+
The `Commit` component displays commit details including hash, message, author, timestamp, and changed files.
|
|
6
|
+
|
|
7
|
+
See `scripts/commit.tsx` for this example.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx ai-elements@latest add commit
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- Commit hash display with copy button
|
|
18
|
+
- Author avatar with initials
|
|
19
|
+
- Relative timestamp formatting
|
|
20
|
+
- Collapsible file changes list
|
|
21
|
+
- Color-coded file status (added/modified/deleted/renamed)
|
|
22
|
+
- Line additions/deletions count
|
|
23
|
+
|
|
24
|
+
## File Status
|
|
25
|
+
|
|
26
|
+
| Status | Label | Color |
|
|
27
|
+
| ---------- | ----- | ------ |
|
|
28
|
+
| `added` | A | Green |
|
|
29
|
+
| `modified` | M | Yellow |
|
|
30
|
+
| `deleted` | D | Red |
|
|
31
|
+
| `renamed` | R | Blue |
|
|
32
|
+
|
|
33
|
+
## Props
|
|
34
|
+
|
|
35
|
+
### `<Commit />`
|
|
36
|
+
|
|
37
|
+
| Prop | Type | Default | Description |
|
|
38
|
+
|------|------|---------|-------------|
|
|
39
|
+
| `...props` | `React.ComponentProps<typeof Collapsible>` | - | Spread to the Collapsible component. |
|
|
40
|
+
|
|
41
|
+
### `<CommitHeader />`
|
|
42
|
+
|
|
43
|
+
| Prop | Type | Default | Description |
|
|
44
|
+
|------|------|---------|-------------|
|
|
45
|
+
| `...props` | `React.ComponentProps<typeof CollapsibleTrigger>` | - | Spread to the CollapsibleTrigger component. |
|
|
46
|
+
|
|
47
|
+
### `<CommitAuthor />`
|
|
48
|
+
|
|
49
|
+
| Prop | Type | Default | Description |
|
|
50
|
+
|------|------|---------|-------------|
|
|
51
|
+
| `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
|
|
52
|
+
|
|
53
|
+
### `<CommitAuthorAvatar />`
|
|
54
|
+
|
|
55
|
+
| Prop | Type | Default | Description |
|
|
56
|
+
|------|------|---------|-------------|
|
|
57
|
+
| `initials` | `string` | Required | Author initials to display. |
|
|
58
|
+
| `...props` | `React.ComponentProps<typeof Avatar>` | - | Spread to the Avatar component. |
|
|
59
|
+
|
|
60
|
+
### `<CommitInfo />`
|
|
61
|
+
|
|
62
|
+
| Prop | Type | Default | Description |
|
|
63
|
+
|------|------|---------|-------------|
|
|
64
|
+
| `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
|
|
65
|
+
|
|
66
|
+
### `<CommitMessage />`
|
|
67
|
+
|
|
68
|
+
| Prop | Type | Default | Description |
|
|
69
|
+
|------|------|---------|-------------|
|
|
70
|
+
| `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
|
|
71
|
+
|
|
72
|
+
### `<CommitMetadata />`
|
|
73
|
+
|
|
74
|
+
| Prop | Type | Default | Description |
|
|
75
|
+
|------|------|---------|-------------|
|
|
76
|
+
| `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
|
|
77
|
+
|
|
78
|
+
### `<CommitHash />`
|
|
79
|
+
|
|
80
|
+
| Prop | Type | Default | Description |
|
|
81
|
+
|------|------|---------|-------------|
|
|
82
|
+
| `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
|
|
83
|
+
|
|
84
|
+
### `<CommitSeparator />`
|
|
85
|
+
|
|
86
|
+
| Prop | Type | Default | Description |
|
|
87
|
+
|------|------|---------|-------------|
|
|
88
|
+
| `children` | `React.ReactNode` | - | Custom separator content. |
|
|
89
|
+
| `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
|
|
90
|
+
|
|
91
|
+
### `<CommitTimestamp />`
|
|
92
|
+
|
|
93
|
+
| Prop | Type | Default | Description |
|
|
94
|
+
|------|------|---------|-------------|
|
|
95
|
+
| `date` | `Date` | Required | Commit date. |
|
|
96
|
+
| `children` | `React.ReactNode` | - | Custom timestamp content. Defaults to relative time. |
|
|
97
|
+
| `...props` | `React.HTMLAttributes<HTMLTimeElement>` | - | Spread to the time element. |
|
|
98
|
+
|
|
99
|
+
### `<CommitActions />`
|
|
100
|
+
|
|
101
|
+
| Prop | Type | Default | Description |
|
|
102
|
+
|------|------|---------|-------------|
|
|
103
|
+
| `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
|
|
104
|
+
|
|
105
|
+
### `<CommitCopyButton />`
|
|
106
|
+
|
|
107
|
+
| Prop | Type | Default | Description |
|
|
108
|
+
|------|------|---------|-------------|
|
|
109
|
+
| `hash` | `string` | Required | Commit hash to copy. |
|
|
110
|
+
| `onCopy` | `() => void` | - | Callback after successful copy. |
|
|
111
|
+
| `onError` | `(error: Error) => void` | - | Callback if copying fails. |
|
|
112
|
+
| `timeout` | `number` | `2000` | Duration to show copied state (ms). |
|
|
113
|
+
| `...props` | `React.ComponentProps<typeof Button>` | - | Spread to the Button component. |
|
|
114
|
+
|
|
115
|
+
### `<CommitContent />`
|
|
116
|
+
|
|
117
|
+
| Prop | Type | Default | Description |
|
|
118
|
+
|------|------|---------|-------------|
|
|
119
|
+
| `...props` | `React.ComponentProps<typeof CollapsibleContent>` | - | Spread to the CollapsibleContent component. |
|
|
120
|
+
|
|
121
|
+
### `<CommitFiles />`
|
|
122
|
+
|
|
123
|
+
| Prop | Type | Default | Description |
|
|
124
|
+
|------|------|---------|-------------|
|
|
125
|
+
| `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
|
|
126
|
+
|
|
127
|
+
### `<CommitFile />`
|
|
128
|
+
|
|
129
|
+
| Prop | Type | Default | Description |
|
|
130
|
+
|------|------|---------|-------------|
|
|
131
|
+
| `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the row div. |
|
|
132
|
+
|
|
133
|
+
### `<CommitFileInfo />`
|
|
134
|
+
|
|
135
|
+
| Prop | Type | Default | Description |
|
|
136
|
+
|------|------|---------|-------------|
|
|
137
|
+
| `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
|
|
138
|
+
|
|
139
|
+
### `<CommitFileStatus />`
|
|
140
|
+
|
|
141
|
+
| Prop | Type | Default | Description |
|
|
142
|
+
|------|------|---------|-------------|
|
|
143
|
+
| `status` | `unknown` | Required | File change status. |
|
|
144
|
+
| `children` | `React.ReactNode` | - | Custom status label. |
|
|
145
|
+
| `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
|
|
146
|
+
|
|
147
|
+
### `<CommitFileIcon />`
|
|
148
|
+
|
|
149
|
+
| Prop | Type | Default | Description |
|
|
150
|
+
|------|------|---------|-------------|
|
|
151
|
+
| `...props` | `React.ComponentProps<typeof FileIcon>` | - | Spread to the FileIcon component. |
|
|
152
|
+
|
|
153
|
+
### `<CommitFilePath />`
|
|
154
|
+
|
|
155
|
+
| Prop | Type | Default | Description |
|
|
156
|
+
|------|------|---------|-------------|
|
|
157
|
+
| `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
|
|
158
|
+
|
|
159
|
+
### `<CommitFileChanges />`
|
|
160
|
+
|
|
161
|
+
| Prop | Type | Default | Description |
|
|
162
|
+
|------|------|---------|-------------|
|
|
163
|
+
| `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
|
|
164
|
+
|
|
165
|
+
### `<CommitFileAdditions />`
|
|
166
|
+
|
|
167
|
+
| Prop | Type | Default | Description |
|
|
168
|
+
|------|------|---------|-------------|
|
|
169
|
+
| `count` | `number` | Required | Number of lines added. |
|
|
170
|
+
| `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
|
|
171
|
+
|
|
172
|
+
### `<CommitFileDeletions />`
|
|
173
|
+
|
|
174
|
+
| Prop | Type | Default | Description |
|
|
175
|
+
|------|------|---------|-------------|
|
|
176
|
+
| `count` | `number` | Required | Number of lines deleted. |
|
|
177
|
+
| `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
# Confirmation
|
|
2
|
+
|
|
3
|
+
An alert-based component for managing tool execution approval workflows with request, accept, and reject states.
|
|
4
|
+
|
|
5
|
+
The `Confirmation` component provides a flexible system for displaying tool approval requests and their outcomes. Perfect for showing users when AI tools require approval before execution, and displaying the approval status afterward.
|
|
6
|
+
|
|
7
|
+
See `scripts/confirmation.tsx` for this example.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx ai-elements@latest add confirmation
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage with AI SDK
|
|
16
|
+
|
|
17
|
+
Build a chat UI with tool approval workflow where dangerous tools require user confirmation before execution.
|
|
18
|
+
|
|
19
|
+
Add the following component to your frontend:
|
|
20
|
+
|
|
21
|
+
```tsx title="app/page.tsx"
|
|
22
|
+
"use client";
|
|
23
|
+
|
|
24
|
+
import { useChat } from "@ai-sdk/react";
|
|
25
|
+
import { DefaultChatTransport, type ToolUIPart } from "ai";
|
|
26
|
+
import { useState } from "react";
|
|
27
|
+
import { CheckIcon, XIcon } from "lucide-react";
|
|
28
|
+
import { Button } from "@/components/ui/button";
|
|
29
|
+
import {
|
|
30
|
+
Confirmation,
|
|
31
|
+
ConfirmationTitle,
|
|
32
|
+
ConfirmationRequest,
|
|
33
|
+
ConfirmationAccepted,
|
|
34
|
+
ConfirmationRejected,
|
|
35
|
+
ConfirmationActions,
|
|
36
|
+
ConfirmationAction,
|
|
37
|
+
} from "@/components/ai-elements/confirmation";
|
|
38
|
+
import { MessageResponse } from "@/components/ai-elements/message";
|
|
39
|
+
|
|
40
|
+
type DeleteFileInput = {
|
|
41
|
+
filePath: string;
|
|
42
|
+
confirm: boolean;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
type DeleteFileToolUIPart = ToolUIPart<{
|
|
46
|
+
delete_file: {
|
|
47
|
+
input: DeleteFileInput;
|
|
48
|
+
output: { success: boolean; message: string };
|
|
49
|
+
};
|
|
50
|
+
}>;
|
|
51
|
+
|
|
52
|
+
const Example = () => {
|
|
53
|
+
const { messages, sendMessage, status, addToolApprovalResponse } = useChat({
|
|
54
|
+
transport: new DefaultChatTransport({
|
|
55
|
+
api: "/api/chat",
|
|
56
|
+
}),
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
const handleDeleteFile = () => {
|
|
60
|
+
sendMessage({ text: "Delete the file at /tmp/example.txt" });
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const latestMessage = messages[messages.length - 1];
|
|
64
|
+
const deleteTool = latestMessage?.parts?.find(
|
|
65
|
+
(part) => part.type === "tool-delete_file"
|
|
66
|
+
) as DeleteFileToolUIPart | undefined;
|
|
67
|
+
|
|
68
|
+
return (
|
|
69
|
+
<div className="max-w-4xl mx-auto p-6 relative size-full rounded-lg border h-[600px]">
|
|
70
|
+
<div className="flex flex-col h-full space-y-4">
|
|
71
|
+
<Button onClick={handleDeleteFile} disabled={status !== "ready"}>
|
|
72
|
+
Delete Example File
|
|
73
|
+
</Button>
|
|
74
|
+
|
|
75
|
+
{deleteTool?.approval && (
|
|
76
|
+
<Confirmation approval={deleteTool.approval} state={deleteTool.state}>
|
|
77
|
+
<ConfirmationRequest>
|
|
78
|
+
This tool wants to delete:{" "}
|
|
79
|
+
<code>{deleteTool.input?.filePath}</code>
|
|
80
|
+
<br />
|
|
81
|
+
Do you approve this action?
|
|
82
|
+
</ConfirmationRequest>
|
|
83
|
+
<ConfirmationAccepted>
|
|
84
|
+
<CheckIcon className="size-4" />
|
|
85
|
+
<span>You approved this tool execution</span>
|
|
86
|
+
</ConfirmationAccepted>
|
|
87
|
+
<ConfirmationRejected>
|
|
88
|
+
<XIcon className="size-4" />
|
|
89
|
+
<span>You rejected this tool execution</span>
|
|
90
|
+
</ConfirmationRejected>
|
|
91
|
+
<ConfirmationActions>
|
|
92
|
+
<ConfirmationAction
|
|
93
|
+
variant="outline"
|
|
94
|
+
onClick={() =>
|
|
95
|
+
addToolApprovalResponse({
|
|
96
|
+
id: deleteTool.approval!.id,
|
|
97
|
+
approved: false,
|
|
98
|
+
})
|
|
99
|
+
}
|
|
100
|
+
>
|
|
101
|
+
Reject
|
|
102
|
+
</ConfirmationAction>
|
|
103
|
+
<ConfirmationAction
|
|
104
|
+
variant="default"
|
|
105
|
+
onClick={() =>
|
|
106
|
+
addToolApprovalResponse({
|
|
107
|
+
id: deleteTool.approval!.id,
|
|
108
|
+
approved: true,
|
|
109
|
+
})
|
|
110
|
+
}
|
|
111
|
+
>
|
|
112
|
+
Approve
|
|
113
|
+
</ConfirmationAction>
|
|
114
|
+
</ConfirmationActions>
|
|
115
|
+
</Confirmation>
|
|
116
|
+
)}
|
|
117
|
+
|
|
118
|
+
{deleteTool?.output && (
|
|
119
|
+
<MessageResponse>
|
|
120
|
+
{deleteTool.output.success
|
|
121
|
+
? deleteTool.output.message
|
|
122
|
+
: `Error: ${deleteTool.output.message}`}
|
|
123
|
+
</MessageResponse>
|
|
124
|
+
)}
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
);
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
export default Example;
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Add the following route to your backend:
|
|
134
|
+
|
|
135
|
+
```ts title="app/api/chat/route.tsx"
|
|
136
|
+
import { streamText, UIMessage, convertToModelMessages } from "ai";
|
|
137
|
+
import { z } from "zod";
|
|
138
|
+
|
|
139
|
+
// Allow streaming responses up to 30 seconds
|
|
140
|
+
export const maxDuration = 30;
|
|
141
|
+
|
|
142
|
+
export async function POST(req: Request) {
|
|
143
|
+
const { messages }: { messages: UIMessage[] } = await req.json();
|
|
144
|
+
|
|
145
|
+
const result = streamText({
|
|
146
|
+
model: "openai/gpt-4o",
|
|
147
|
+
messages: await convertToModelMessages(messages),
|
|
148
|
+
tools: {
|
|
149
|
+
delete_file: {
|
|
150
|
+
description: "Delete a file from the file system",
|
|
151
|
+
parameters: z.object({
|
|
152
|
+
filePath: z.string().describe("The path to the file to delete"),
|
|
153
|
+
confirm: z
|
|
154
|
+
.boolean()
|
|
155
|
+
.default(false)
|
|
156
|
+
.describe("Confirmation that the user wants to delete the file"),
|
|
157
|
+
}),
|
|
158
|
+
requireApproval: true, // Enable approval workflow
|
|
159
|
+
execute: async ({ filePath, confirm }) => {
|
|
160
|
+
if (!confirm) {
|
|
161
|
+
return {
|
|
162
|
+
success: false,
|
|
163
|
+
message: "Deletion not confirmed",
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// Simulate file deletion
|
|
168
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
169
|
+
|
|
170
|
+
return {
|
|
171
|
+
success: true,
|
|
172
|
+
message: `Successfully deleted ${filePath}`,
|
|
173
|
+
};
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
return result.toUIMessageStreamResponse();
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Features
|
|
184
|
+
|
|
185
|
+
- Context-based state management for approval workflow
|
|
186
|
+
- Conditional rendering based on approval state
|
|
187
|
+
- Support for approval-requested, approval-responded, output-denied, and output-available states
|
|
188
|
+
- Built on shadcn/ui Alert and Button components
|
|
189
|
+
- TypeScript support with comprehensive type definitions
|
|
190
|
+
- Customizable styling with Tailwind CSS
|
|
191
|
+
- Keyboard navigation and accessibility support
|
|
192
|
+
- Theme-aware with automatic dark mode support
|
|
193
|
+
|
|
194
|
+
## Examples
|
|
195
|
+
|
|
196
|
+
### Approval Request State
|
|
197
|
+
|
|
198
|
+
Shows the approval request with action buttons when state is `approval-requested`.
|
|
199
|
+
|
|
200
|
+
See `scripts/confirmation-request.tsx` for this example.
|
|
201
|
+
|
|
202
|
+
### Approved State
|
|
203
|
+
|
|
204
|
+
Shows the accepted status when user approves and state is `approval-responded` or `output-available`.
|
|
205
|
+
|
|
206
|
+
See `scripts/confirmation-accepted.tsx` for this example.
|
|
207
|
+
|
|
208
|
+
### Rejected State
|
|
209
|
+
|
|
210
|
+
Shows the rejected status when user rejects and state is `output-denied`.
|
|
211
|
+
|
|
212
|
+
See `scripts/confirmation-rejected.tsx` for this example.
|
|
213
|
+
|
|
214
|
+
## Props
|
|
215
|
+
|
|
216
|
+
### `<Confirmation />`
|
|
217
|
+
|
|
218
|
+
| Prop | Type | Default | Description |
|
|
219
|
+
|------|------|---------|-------------|
|
|
220
|
+
| `approval` | `ToolUIPart[` | - | The approval object containing the approval ID and status. If not provided or undefined, the component will not render. |
|
|
221
|
+
| `state` | `ToolUIPart[` | - | The current state of the tool (input-streaming, input-available, approval-requested, approval-responded, output-denied, or output-available). Will not render for input-streaming or input-available states. |
|
|
222
|
+
| `className` | `string` | - | Additional CSS classes to apply to the Alert component. |
|
|
223
|
+
| `...props` | `React.ComponentProps<typeof Alert>` | - | Any other props are spread to the Alert component. |
|
|
224
|
+
|
|
225
|
+
### `<ConfirmationTitle />`
|
|
226
|
+
|
|
227
|
+
A styled description element for displaying a title or label within the confirmation alert.
|
|
228
|
+
|
|
229
|
+
| Prop | Type | Default | Description |
|
|
230
|
+
|------|------|---------|-------------|
|
|
231
|
+
| `...props` | `React.ComponentProps<typeof AlertDescription>` | - | Any other props are spread to the underlying AlertDescription component. |
|
|
232
|
+
|
|
233
|
+
### `<ConfirmationRequest />`
|
|
234
|
+
|
|
235
|
+
| Prop | Type | Default | Description |
|
|
236
|
+
|------|------|---------|-------------|
|
|
237
|
+
| `children` | `React.ReactNode` | - | The content to display when approval is requested. Only renders when state is |
|
|
238
|
+
|
|
239
|
+
### `<ConfirmationAccepted />`
|
|
240
|
+
|
|
241
|
+
| Prop | Type | Default | Description |
|
|
242
|
+
|------|------|---------|-------------|
|
|
243
|
+
| `children` | `React.ReactNode` | - | The content to display when approval is accepted. Only renders when approval.approved is true and state is |
|
|
244
|
+
|
|
245
|
+
### `<ConfirmationRejected />`
|
|
246
|
+
|
|
247
|
+
| Prop | Type | Default | Description |
|
|
248
|
+
|------|------|---------|-------------|
|
|
249
|
+
| `children` | `React.ReactNode` | - | The content to display when approval is rejected. Only renders when approval.approved is false and state is |
|
|
250
|
+
|
|
251
|
+
### `<ConfirmationActions />`
|
|
252
|
+
|
|
253
|
+
| Prop | Type | Default | Description |
|
|
254
|
+
|------|------|---------|-------------|
|
|
255
|
+
| `className` | `string` | - | Additional CSS classes to apply to the actions container. |
|
|
256
|
+
| `...props` | `React.ComponentProps<` | - | Any other props are spread to the div element. Only renders when state is |
|
|
257
|
+
|
|
258
|
+
### `<ConfirmationAction />`
|
|
259
|
+
|
|
260
|
+
| Prop | Type | Default | Description |
|
|
261
|
+
|------|------|---------|-------------|
|
|
262
|
+
| `...props` | `React.ComponentProps<typeof Button>` | - | Any other props are spread to the Button component. Styled with h-8 px-3 text-sm classes by default. |
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Connection
|
|
2
|
+
|
|
3
|
+
A custom connection line component for React Flow-based canvases with animated bezier curve styling.
|
|
4
|
+
|
|
5
|
+
The `Connection` component provides a styled connection line for React Flow canvases. It renders an animated bezier curve with a circle indicator at the target end, using consistent theming through CSS variables.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx ai-elements@latest add connection
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- Smooth bezier curve animation for connection lines
|
|
18
|
+
- Visual indicator circle at the target position
|
|
19
|
+
- Theme-aware styling using CSS variables
|
|
20
|
+
- Cubic bezier curve calculation for natural flow
|
|
21
|
+
- Lightweight implementation with minimal props
|
|
22
|
+
- Full TypeScript support with React Flow types
|
|
23
|
+
- Compatible with React Flow's connection system
|
|
24
|
+
|
|
25
|
+
## Props
|
|
26
|
+
|
|
27
|
+
### `<Connection />`
|
|
28
|
+
|
|
29
|
+
| Prop | Type | Default | Description |
|
|
30
|
+
|------|------|---------|-------------|
|
|
31
|
+
| `fromX` | `number` | - | The x-coordinate of the connection start point. |
|
|
32
|
+
| `fromY` | `number` | - | The y-coordinate of the connection start point. |
|
|
33
|
+
| `toX` | `number` | - | The x-coordinate of the connection end point. |
|
|
34
|
+
| `toY` | `number` | - | The y-coordinate of the connection end point. |
|