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,655 @@
|
|
|
1
|
+
# Supermemory SDK Guide
|
|
2
|
+
|
|
3
|
+
Complete reference for the Supermemory SDK in TypeScript and Python.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Supermemory works with the following SDKs natively:
|
|
8
|
+
|
|
9
|
+
### TypeScript/JavaScript
|
|
10
|
+
```bash
|
|
11
|
+
npm install supermemory
|
|
12
|
+
# or
|
|
13
|
+
yarn add supermemory
|
|
14
|
+
# or
|
|
15
|
+
pnpm add supermemory
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
📦 View on npm: [https://www.npmjs.com/package/supermemory](https://www.npmjs.com/package/supermemory)
|
|
19
|
+
|
|
20
|
+
### Python
|
|
21
|
+
```bash
|
|
22
|
+
pip install supermemory
|
|
23
|
+
# Or for async support with aiohttp
|
|
24
|
+
pip install 'supermemory[aiohttp]'
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
📦 View on PyPI: [https://pypi.org/project/supermemory/](https://pypi.org/project/supermemory/)
|
|
28
|
+
|
|
29
|
+
### Other SDKs and Integrations
|
|
30
|
+
|
|
31
|
+
Discover all available SDKs, community integrations, and framework-specific guides at [supermemory.ai/docs](https://supermemory.ai/docs)
|
|
32
|
+
|
|
33
|
+
## Initialization
|
|
34
|
+
|
|
35
|
+
### TypeScript
|
|
36
|
+
```typescript
|
|
37
|
+
import { Supermemory } from 'supermemory';
|
|
38
|
+
|
|
39
|
+
const client = new Supermemory({
|
|
40
|
+
apiKey: process.env.SUPERMEMORY_API_KEY, // Optional if env var is set
|
|
41
|
+
baseURL: 'https://api.supermemory.ai' // Optional, defaults to this
|
|
42
|
+
});
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Python
|
|
46
|
+
```python
|
|
47
|
+
from supermemory import Supermemory
|
|
48
|
+
|
|
49
|
+
# Synchronous client
|
|
50
|
+
client = Supermemory(
|
|
51
|
+
api_key=os.environ["SUPERMEMORY_API_KEY"], # Optional if env var is set
|
|
52
|
+
base_url="https://api.supermemory.ai" # Optional, defaults to this
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
# Asynchronous client
|
|
56
|
+
from supermemory import AsyncSupermemory
|
|
57
|
+
|
|
58
|
+
async_client = AsyncSupermemory(
|
|
59
|
+
api_key=os.environ["SUPERMEMORY_API_KEY"]
|
|
60
|
+
)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Core Methods
|
|
64
|
+
|
|
65
|
+
### `add()` - Store Memories
|
|
66
|
+
|
|
67
|
+
Add content to Supermemory for processing and memory extraction.
|
|
68
|
+
|
|
69
|
+
#### TypeScript
|
|
70
|
+
```typescript
|
|
71
|
+
await client.add({
|
|
72
|
+
content: string | URL, // Required: text, URL, or file path
|
|
73
|
+
containerTag?: string, // Optional: isolation identifier
|
|
74
|
+
entityContext?: string, // Optional: context for memory extraction
|
|
75
|
+
customId?: string, // Optional: your custom identifier
|
|
76
|
+
metadata?: Record<string, any> // Optional: custom key-value pairs
|
|
77
|
+
});
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
#### Python
|
|
81
|
+
```python
|
|
82
|
+
client.add(
|
|
83
|
+
content=str | url, # Required: text, URL, or file path
|
|
84
|
+
container_tag=str, # Optional: isolation identifier
|
|
85
|
+
entity_context=str, # Optional: context for memory extraction
|
|
86
|
+
custom_id=str, # Optional: your custom identifier
|
|
87
|
+
metadata=dict # Optional: custom key-value pairs
|
|
88
|
+
)
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### Examples
|
|
92
|
+
|
|
93
|
+
**Add text content:**
|
|
94
|
+
```typescript
|
|
95
|
+
await client.add({
|
|
96
|
+
content: "User prefers dark mode and TypeScript over JavaScript",
|
|
97
|
+
containerTag: "user_123",
|
|
98
|
+
metadata: {
|
|
99
|
+
source: "preferences",
|
|
100
|
+
timestamp: new Date().toISOString()
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Add URL for processing:**
|
|
106
|
+
```typescript
|
|
107
|
+
await client.add({
|
|
108
|
+
content: "https://example.com/blog/article",
|
|
109
|
+
containerTag: "knowledge_base",
|
|
110
|
+
entityContext: "technical documentation",
|
|
111
|
+
metadata: { type: "documentation", category: "api" }
|
|
112
|
+
});
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Add with custom ID:**
|
|
116
|
+
```typescript
|
|
117
|
+
await client.add({
|
|
118
|
+
content: "Project requirements document...",
|
|
119
|
+
containerTag: "project_abc",
|
|
120
|
+
customId: "requirements_v1",
|
|
121
|
+
metadata: { version: "1.0", author: "john@example.com" }
|
|
122
|
+
});
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### `profile()` - Retrieve User Context
|
|
126
|
+
|
|
127
|
+
Get personalized context including static profile data and relevant dynamic memories.
|
|
128
|
+
|
|
129
|
+
#### TypeScript
|
|
130
|
+
```typescript
|
|
131
|
+
const response = await client.profile({
|
|
132
|
+
containerTag: string, // Required: user/project identifier
|
|
133
|
+
q?: string, // Optional: search query to include search results
|
|
134
|
+
threshold?: number // Optional: relevance threshold (0-1, default 0.5)
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
// Returns:
|
|
138
|
+
// {
|
|
139
|
+
// profile: {
|
|
140
|
+
// static: string[], // Array of static memories (permanent facts)
|
|
141
|
+
// dynamic: string[] // Array of dynamic memories (recent context)
|
|
142
|
+
// },
|
|
143
|
+
// searchResults?: { // Only included if q parameter was provided
|
|
144
|
+
// results: Array<{ // Search results
|
|
145
|
+
// id: string,
|
|
146
|
+
// memory?: string,
|
|
147
|
+
// similarity: number,
|
|
148
|
+
// metadata: object | null
|
|
149
|
+
// }>,
|
|
150
|
+
// total: number,
|
|
151
|
+
// timing: number
|
|
152
|
+
// }
|
|
153
|
+
// }
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
#### Python
|
|
157
|
+
```python
|
|
158
|
+
response = client.profile(
|
|
159
|
+
container_tag=str, # Required: user/project identifier
|
|
160
|
+
q=str, # Optional: search query to include search results
|
|
161
|
+
threshold=float # Optional: relevance threshold (0-1, default 0.5)
|
|
162
|
+
)
|
|
163
|
+
|
|
164
|
+
# Returns dict:
|
|
165
|
+
# {
|
|
166
|
+
# "profile": {
|
|
167
|
+
# "static": List[str], # Array of static memories (permanent facts)
|
|
168
|
+
# "dynamic": List[str] # Array of dynamic memories (recent context)
|
|
169
|
+
# },
|
|
170
|
+
# "searchResults": { # Only included if q parameter was provided
|
|
171
|
+
# "results": List[dict], # Search results
|
|
172
|
+
# "total": int,
|
|
173
|
+
# "timing": int
|
|
174
|
+
# }
|
|
175
|
+
# }
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
#### Examples
|
|
179
|
+
|
|
180
|
+
**Get user profile:**
|
|
181
|
+
```typescript
|
|
182
|
+
const response = await client.profile({
|
|
183
|
+
containerTag: "user_123",
|
|
184
|
+
q: "What are the user's preferences and settings?"
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
console.log(response.profile.static); // ["User John Doe", "Prefers dark mode", ...]
|
|
188
|
+
console.log(response.profile.dynamic); // ["Recently mentioned...", "Last conversation..."]
|
|
189
|
+
console.log(response.searchResults); // Search results for the query (if provided)
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Profile without search (just get stored memories):**
|
|
193
|
+
```typescript
|
|
194
|
+
const response = await client.profile({
|
|
195
|
+
containerTag: "user_456"
|
|
196
|
+
// No q parameter = only returns profile.static and profile.dynamic
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
console.log(response.profile.static); // All static facts
|
|
200
|
+
console.log(response.profile.dynamic); // Recent dynamic memories
|
|
201
|
+
// response.searchResults will be undefined
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### `search.memories()` - Semantic Search
|
|
205
|
+
|
|
206
|
+
Search across memories using semantic understanding, not just keywords.
|
|
207
|
+
|
|
208
|
+
#### TypeScript
|
|
209
|
+
```typescript
|
|
210
|
+
const response = await client.search.memories({
|
|
211
|
+
q: string, // Required: search query
|
|
212
|
+
containerTag?: string, // Optional: filter by container tag
|
|
213
|
+
limit?: number, // Optional: max results (default 10)
|
|
214
|
+
threshold?: number, // Optional: similarity threshold (0-1, default 0.3)
|
|
215
|
+
searchMode?: "semantic" | "hybrid", // Optional: "semantic" (default) or "hybrid" (semantic + keyword for RAG)
|
|
216
|
+
filters?: FilterObject // Optional: advanced filtering
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
// Returns:
|
|
220
|
+
// {
|
|
221
|
+
// results: Array<{
|
|
222
|
+
// id: string,
|
|
223
|
+
// memory?: string, // Memory content (for memory results)
|
|
224
|
+
// chunk?: string, // Chunk content (for chunk results in hybrid mode)
|
|
225
|
+
// metadata: object | null,
|
|
226
|
+
// updatedAt: string,
|
|
227
|
+
// similarity: number,
|
|
228
|
+
// version?: number | null
|
|
229
|
+
// }>,
|
|
230
|
+
// total: number,
|
|
231
|
+
// timing: number // Search time in milliseconds
|
|
232
|
+
// }
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
#### Python
|
|
236
|
+
```python
|
|
237
|
+
response = client.search.memories(
|
|
238
|
+
q=str, # Required: search query
|
|
239
|
+
container_tag=str, # Optional: filter by container tag
|
|
240
|
+
threshold=float, # Optional: similarity threshold (0-1, default 0.3)
|
|
241
|
+
limit=int, # Optional: max results (default 50)
|
|
242
|
+
search_mode=str, # Optional: "semantic" (default) or "hybrid"
|
|
243
|
+
filters=dict # Optional: advanced filtering
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
# Returns dict:
|
|
247
|
+
# {
|
|
248
|
+
# "results": List[dict], # Array of search results
|
|
249
|
+
# "total": int,
|
|
250
|
+
# "timing": int # Search time in milliseconds
|
|
251
|
+
# }
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
#### Examples
|
|
255
|
+
|
|
256
|
+
**Basic semantic search:**
|
|
257
|
+
```typescript
|
|
258
|
+
const response = await client.search.memories({
|
|
259
|
+
q: "How do I authenticate users?",
|
|
260
|
+
containerTag: "documentation",
|
|
261
|
+
limit: 10
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
response.results.forEach(result => {
|
|
265
|
+
console.log(`Score: ${result.score}`);
|
|
266
|
+
console.log(`Content: ${result.content}`);
|
|
267
|
+
});
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**Hybrid search for RAG (semantic + keyword):**
|
|
271
|
+
```typescript
|
|
272
|
+
const response = await client.search.memories({
|
|
273
|
+
q: "authentication methods",
|
|
274
|
+
containerTag: "docs",
|
|
275
|
+
searchMode: "hybrid", // Combines semantic and keyword search for better RAG accuracy
|
|
276
|
+
threshold: 0.3,
|
|
277
|
+
limit: 10
|
|
278
|
+
});
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**Search with metadata filters:**
|
|
282
|
+
```typescript
|
|
283
|
+
const response = await client.search.memories({
|
|
284
|
+
q: "authentication methods",
|
|
285
|
+
containerTag: "docs",
|
|
286
|
+
threshold: 0.3,
|
|
287
|
+
filters: {
|
|
288
|
+
metadata: {
|
|
289
|
+
type: "tutorial",
|
|
290
|
+
category: "security"
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
**Search within specific document:**
|
|
297
|
+
```typescript
|
|
298
|
+
const response = await client.search.memories({
|
|
299
|
+
q: "rate limiting configuration",
|
|
300
|
+
containerTag: "specific_project"
|
|
301
|
+
});
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### `documents.list()` - List Documents
|
|
305
|
+
|
|
306
|
+
Retrieve stored documents with optional filtering and pagination.
|
|
307
|
+
|
|
308
|
+
#### TypeScript
|
|
309
|
+
```typescript
|
|
310
|
+
const docs = await client.documents.list({
|
|
311
|
+
containerTag?: string, // Optional: filter by container
|
|
312
|
+
limit?: number, // Optional: number of results (default 20)
|
|
313
|
+
offset?: number, // Optional: pagination offset
|
|
314
|
+
status?: string // Optional: filter by processing status
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
// Returns:
|
|
318
|
+
// {
|
|
319
|
+
// documents: Array<{
|
|
320
|
+
// id: string,
|
|
321
|
+
// content: string,
|
|
322
|
+
// status: string,
|
|
323
|
+
// metadata: object,
|
|
324
|
+
// createdAt: string
|
|
325
|
+
// }>,
|
|
326
|
+
// total: number
|
|
327
|
+
// }
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
#### Python
|
|
331
|
+
```python
|
|
332
|
+
docs = client.documents.list(
|
|
333
|
+
container_tag=str, # Optional: filter by container
|
|
334
|
+
limit=int, # Optional: number of results (default 20)
|
|
335
|
+
offset=int, # Optional: pagination offset
|
|
336
|
+
status=str # Optional: filter by processing status
|
|
337
|
+
)
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
#### Examples
|
|
341
|
+
|
|
342
|
+
**List all documents for a user:**
|
|
343
|
+
```typescript
|
|
344
|
+
const docs = await client.documents.list({
|
|
345
|
+
containerTag: "user_123",
|
|
346
|
+
limit: 50
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
docs.documents.forEach(doc => {
|
|
350
|
+
console.log(`${doc.id}: ${doc.status}`);
|
|
351
|
+
});
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
**Paginated listing:**
|
|
355
|
+
```typescript
|
|
356
|
+
const page1 = await client.documents.list({ limit: 20, offset: 0 });
|
|
357
|
+
const page2 = await client.documents.list({ limit: 20, offset: 20 });
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
**Filter by status:**
|
|
361
|
+
```typescript
|
|
362
|
+
const processing = await client.documents.list({
|
|
363
|
+
containerTag: "project_abc",
|
|
364
|
+
status: "processing"
|
|
365
|
+
});
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
### `documents.delete()` - Delete Document
|
|
369
|
+
|
|
370
|
+
Remove a document and its associated memories.
|
|
371
|
+
|
|
372
|
+
#### TypeScript
|
|
373
|
+
```typescript
|
|
374
|
+
await client.documents.delete({
|
|
375
|
+
docId: string // Required: document ID
|
|
376
|
+
});
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
#### Python
|
|
380
|
+
```python
|
|
381
|
+
client.documents.delete(
|
|
382
|
+
doc_id=str # Required: document ID
|
|
383
|
+
)
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
#### Example
|
|
387
|
+
|
|
388
|
+
```typescript
|
|
389
|
+
await client.documents.delete({
|
|
390
|
+
docId: "doc_abc123"
|
|
391
|
+
});
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
## Advanced Features
|
|
395
|
+
|
|
396
|
+
### Metadata Filtering
|
|
397
|
+
|
|
398
|
+
Add rich metadata to enable advanced filtering:
|
|
399
|
+
|
|
400
|
+
```typescript
|
|
401
|
+
await client.add({
|
|
402
|
+
content: "Product review of iPhone 15",
|
|
403
|
+
containerTag: "reviews",
|
|
404
|
+
metadata: {
|
|
405
|
+
product: "iPhone 15",
|
|
406
|
+
rating: 4.5,
|
|
407
|
+
verified: true,
|
|
408
|
+
tags: ["smartphone", "apple", "2024"]
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
|
|
412
|
+
// Search with metadata filters
|
|
413
|
+
const results = await client.search.memories({
|
|
414
|
+
q: "phone reviews",
|
|
415
|
+
containerTag: "reviews",
|
|
416
|
+
filters: {
|
|
417
|
+
metadata: {
|
|
418
|
+
rating: { $gte: 4.0 }, // Rating >= 4.0
|
|
419
|
+
verified: true,
|
|
420
|
+
tags: { $contains: "apple" }
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
});
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
### Entity Context for Better Extraction
|
|
427
|
+
|
|
428
|
+
Provide context to guide memory extraction:
|
|
429
|
+
|
|
430
|
+
```typescript
|
|
431
|
+
await client.add({
|
|
432
|
+
content: "User mentioned preferring React over Vue",
|
|
433
|
+
containerTag: "user_123",
|
|
434
|
+
entityContext: "This is a conversation about frontend framework preferences"
|
|
435
|
+
});
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
The `entityContext` helps Supermemory understand what type of information to extract and prioritize.
|
|
439
|
+
|
|
440
|
+
### Container Tag Patterns
|
|
441
|
+
|
|
442
|
+
**Per-User Isolation:**
|
|
443
|
+
```typescript
|
|
444
|
+
const userId = "user_123";
|
|
445
|
+
await client.add({ content: "...", containerTag: userId });
|
|
446
|
+
const context = await client.profile({ containerTag: userId, q: "..." });
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
**Multi-Tenant Applications:**
|
|
450
|
+
```typescript
|
|
451
|
+
const orgTag = `org_${organizationId}`;
|
|
452
|
+
const userTag = `org_${organizationId}_user_${userId}`;
|
|
453
|
+
|
|
454
|
+
// Org-wide knowledge
|
|
455
|
+
await client.add({ content: "...", containerTag: orgTag });
|
|
456
|
+
|
|
457
|
+
// User-specific within org
|
|
458
|
+
await client.add({ content: "...", containerTag: userTag });
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
**Project-Based Organization:**
|
|
462
|
+
```typescript
|
|
463
|
+
const projectTag = `project_${projectId}`;
|
|
464
|
+
await client.add({
|
|
465
|
+
content: "Project requirements...",
|
|
466
|
+
containerTag: projectTag,
|
|
467
|
+
metadata: { type: "requirements", version: "1.0" }
|
|
468
|
+
});
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
## Integration with AI Frameworks
|
|
472
|
+
|
|
473
|
+
### Vercel AI SDK
|
|
474
|
+
|
|
475
|
+
```typescript
|
|
476
|
+
import { Supermemory } from 'supermemory';
|
|
477
|
+
import { openai } from '@ai-sdk/openai';
|
|
478
|
+
import { generateText } from 'ai';
|
|
479
|
+
|
|
480
|
+
const memory = new Supermemory();
|
|
481
|
+
|
|
482
|
+
async function chat(userId: string, message: string) {
|
|
483
|
+
// 1. Get context
|
|
484
|
+
const context = await memory.profile({
|
|
485
|
+
containerTag: userId,
|
|
486
|
+
q: message
|
|
487
|
+
});
|
|
488
|
+
|
|
489
|
+
// 2. Generate response with context
|
|
490
|
+
const { text } = await generateText({
|
|
491
|
+
model: openai('gpt-4'),
|
|
492
|
+
system: `User Profile: ${context.profile}\n\nRelevant Context:\n${context.memories.map(m => m.content).join('\n')}`,
|
|
493
|
+
prompt: message
|
|
494
|
+
});
|
|
495
|
+
|
|
496
|
+
// 3. Store conversation
|
|
497
|
+
await memory.add({
|
|
498
|
+
content: `User: ${message}\nAssistant: ${text}`,
|
|
499
|
+
containerTag: userId
|
|
500
|
+
});
|
|
501
|
+
|
|
502
|
+
return text;
|
|
503
|
+
}
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
### LangChain
|
|
507
|
+
|
|
508
|
+
```typescript
|
|
509
|
+
import { Supermemory } from 'supermemory';
|
|
510
|
+
import { ChatOpenAI } from '@langchain/openai';
|
|
511
|
+
import { HumanMessage, SystemMessage } from '@langchain/core/messages';
|
|
512
|
+
|
|
513
|
+
const memory = new Supermemory();
|
|
514
|
+
const llm = new ChatOpenAI({ model: 'gpt-4' });
|
|
515
|
+
|
|
516
|
+
async function chatWithMemory(userId: string, userMessage: string) {
|
|
517
|
+
// Retrieve context
|
|
518
|
+
const context = await memory.profile({
|
|
519
|
+
containerTag: userId,
|
|
520
|
+
q: userMessage
|
|
521
|
+
});
|
|
522
|
+
|
|
523
|
+
// Create messages with context
|
|
524
|
+
const messages = [
|
|
525
|
+
new SystemMessage(`Context: ${JSON.stringify(context)}`),
|
|
526
|
+
new HumanMessage(userMessage)
|
|
527
|
+
];
|
|
528
|
+
|
|
529
|
+
const response = await llm.invoke(messages);
|
|
530
|
+
|
|
531
|
+
// Store interaction
|
|
532
|
+
await memory.add({
|
|
533
|
+
content: `${userMessage}\n${response.content}`,
|
|
534
|
+
containerTag: userId
|
|
535
|
+
});
|
|
536
|
+
|
|
537
|
+
return response.content;
|
|
538
|
+
}
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
### CrewAI
|
|
542
|
+
|
|
543
|
+
```python
|
|
544
|
+
from supermemory import Supermemory
|
|
545
|
+
from crewai import Agent, Task, Crew
|
|
546
|
+
|
|
547
|
+
memory = Supermemory()
|
|
548
|
+
|
|
549
|
+
def create_memory_enhanced_agent(user_id: str):
|
|
550
|
+
# Get user context
|
|
551
|
+
context = memory.profile(
|
|
552
|
+
container_tag=user_id,
|
|
553
|
+
query="user preferences and history"
|
|
554
|
+
)
|
|
555
|
+
|
|
556
|
+
agent = Agent(
|
|
557
|
+
role="Personal Assistant",
|
|
558
|
+
goal="Help the user with personalized assistance",
|
|
559
|
+
backstory=f"User Context: {context['profile']}\n\nRecent interactions:\n{context['memories']}",
|
|
560
|
+
verbose=True
|
|
561
|
+
)
|
|
562
|
+
|
|
563
|
+
return agent
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
## Best Practices
|
|
567
|
+
|
|
568
|
+
### 1. Consistent Container Tags
|
|
569
|
+
Always use the same format for container tags:
|
|
570
|
+
```typescript
|
|
571
|
+
// Good
|
|
572
|
+
const tag = `user_${userId}`;
|
|
573
|
+
|
|
574
|
+
// Avoid inconsistency
|
|
575
|
+
// Sometimes: "user_123"
|
|
576
|
+
// Other times: "123"
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
### 2. Rich Metadata
|
|
580
|
+
Add metadata for better filtering and organization:
|
|
581
|
+
```typescript
|
|
582
|
+
await client.add({
|
|
583
|
+
content: "...",
|
|
584
|
+
containerTag: "user_123",
|
|
585
|
+
metadata: {
|
|
586
|
+
source: "chat",
|
|
587
|
+
timestamp: new Date().toISOString(),
|
|
588
|
+
conversationId: "conv_456",
|
|
589
|
+
topics: ["programming", "typescript"]
|
|
590
|
+
}
|
|
591
|
+
});
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
### 3. Meaningful Custom IDs
|
|
595
|
+
Use custom IDs for idempotency and reference:
|
|
596
|
+
```typescript
|
|
597
|
+
await client.add({
|
|
598
|
+
content: "...",
|
|
599
|
+
customId: `feedback_${userId}_${Date.now()}`,
|
|
600
|
+
containerTag: "feedback"
|
|
601
|
+
});
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
### 4. Appropriate Thresholds
|
|
605
|
+
Start with default (0.5) and adjust based on results:
|
|
606
|
+
- **0.3-0.5**: Broader recall, good for discovery
|
|
607
|
+
- **0.5-0.7**: Balanced precision and recall
|
|
608
|
+
- **0.7-1.0**: High precision, fewer but more relevant results
|
|
609
|
+
|
|
610
|
+
### 5. Error Handling
|
|
611
|
+
Always handle errors gracefully:
|
|
612
|
+
```typescript
|
|
613
|
+
try {
|
|
614
|
+
await client.add({ content: "...", containerTag: "user_123" });
|
|
615
|
+
} catch (error) {
|
|
616
|
+
if (error.status === 401) {
|
|
617
|
+
console.error("Invalid API key");
|
|
618
|
+
} else if (error.status === 429) {
|
|
619
|
+
console.error("Rate limit exceeded");
|
|
620
|
+
} else {
|
|
621
|
+
console.error("Failed to add memory:", error.message);
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
## Naming Conventions
|
|
627
|
+
|
|
628
|
+
### TypeScript (camelCase)
|
|
629
|
+
- `containerTag`
|
|
630
|
+
- `entityContext`
|
|
631
|
+
- `customId`
|
|
632
|
+
- `threshold`
|
|
633
|
+
- `docId`
|
|
634
|
+
- `q`
|
|
635
|
+
|
|
636
|
+
### Python (snake_case)
|
|
637
|
+
- `container_tag`
|
|
638
|
+
- `entity_context`
|
|
639
|
+
- `custom_id`
|
|
640
|
+
- `threshold`
|
|
641
|
+
- `doc_id`
|
|
642
|
+
|
|
643
|
+
## Performance Tips
|
|
644
|
+
|
|
645
|
+
1. **Batch Operations**: Add multiple documents in quick succession if needed
|
|
646
|
+
2. **Async/Await**: Always use async operations to avoid blocking
|
|
647
|
+
3. **Pagination**: Use `limit` and `offset` for large result sets
|
|
648
|
+
4. **Caching**: Cache profile() results for short periods if making multiple calls
|
|
649
|
+
5. **Processing Time**: Allow 1-2 minutes for PDFs, 5-10 minutes for videos
|
|
650
|
+
|
|
651
|
+
## Support
|
|
652
|
+
|
|
653
|
+
- **Documentation**: [supermemory.ai/docs](https://supermemory.ai/docs)
|
|
654
|
+
- **SDK Issues**: [github.com/supermemoryai/supermemory](https://github.com/supermemoryai/supermemory)
|
|
655
|
+
- **Console**: [console.supermemory.ai](https://console.supermemory.ai)
|