sandstream-kit 1.0.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/LICENSE +21 -0
- package/README.md +617 -0
- package/dist/adapters/api-key-adapter.d.ts +35 -0
- package/dist/adapters/api-key-adapter.js +46 -0
- package/dist/adapters/api-key-adapter.js.map +1 -0
- package/dist/adapters/clerk-auth.d.ts +6 -0
- package/dist/adapters/clerk-auth.js +20 -0
- package/dist/adapters/clerk-auth.js.map +1 -0
- package/dist/adapters/cloudflare-r2.d.ts +6 -0
- package/dist/adapters/cloudflare-r2.js +136 -0
- package/dist/adapters/cloudflare-r2.js.map +1 -0
- package/dist/adapters/expo-eas.d.ts +6 -0
- package/dist/adapters/expo-eas.js +129 -0
- package/dist/adapters/expo-eas.js.map +1 -0
- package/dist/adapters/flagsmith-flags.d.ts +5 -0
- package/dist/adapters/flagsmith-flags.js +20 -0
- package/dist/adapters/flagsmith-flags.js.map +1 -0
- package/dist/adapters/flyio-hosting.d.ts +2 -0
- package/dist/adapters/flyio-hosting.js +143 -0
- package/dist/adapters/flyio-hosting.js.map +1 -0
- package/dist/adapters/index.d.ts +6 -0
- package/dist/adapters/index.js +48 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/inngest-background.d.ts +5 -0
- package/dist/adapters/inngest-background.js +19 -0
- package/dist/adapters/inngest-background.js.map +1 -0
- package/dist/adapters/liveblocks-realtime.d.ts +11 -0
- package/dist/adapters/liveblocks-realtime.js +62 -0
- package/dist/adapters/liveblocks-realtime.js.map +1 -0
- package/dist/adapters/loops-email.d.ts +6 -0
- package/dist/adapters/loops-email.js +18 -0
- package/dist/adapters/loops-email.js.map +1 -0
- package/dist/adapters/neon-db.d.ts +10 -0
- package/dist/adapters/neon-db.js +94 -0
- package/dist/adapters/neon-db.js.map +1 -0
- package/dist/adapters/planetscale-db.d.ts +11 -0
- package/dist/adapters/planetscale-db.js +134 -0
- package/dist/adapters/planetscale-db.js.map +1 -0
- package/dist/adapters/posthog-analytics.d.ts +6 -0
- package/dist/adapters/posthog-analytics.js +22 -0
- package/dist/adapters/posthog-analytics.js.map +1 -0
- package/dist/adapters/railway-hosting.d.ts +2 -0
- package/dist/adapters/railway-hosting.js +136 -0
- package/dist/adapters/railway-hosting.js.map +1 -0
- package/dist/adapters/resend-email.d.ts +35 -0
- package/dist/adapters/resend-email.js +109 -0
- package/dist/adapters/resend-email.js.map +1 -0
- package/dist/adapters/searxng-instance.d.ts +6 -0
- package/dist/adapters/searxng-instance.js +240 -0
- package/dist/adapters/searxng-instance.js.map +1 -0
- package/dist/adapters/sentry-monitoring.d.ts +7 -0
- package/dist/adapters/sentry-monitoring.js +27 -0
- package/dist/adapters/sentry-monitoring.js.map +1 -0
- package/dist/adapters/stripe-payments.d.ts +6 -0
- package/dist/adapters/stripe-payments.js +134 -0
- package/dist/adapters/stripe-payments.js.map +1 -0
- package/dist/adapters/supabase-db.d.ts +6 -0
- package/dist/adapters/supabase-db.js +130 -0
- package/dist/adapters/supabase-db.js.map +1 -0
- package/dist/adapters/tinybird-analytics.d.ts +5 -0
- package/dist/adapters/tinybird-analytics.js +20 -0
- package/dist/adapters/tinybird-analytics.js.map +1 -0
- package/dist/adapters/trigger-background.d.ts +6 -0
- package/dist/adapters/trigger-background.js +20 -0
- package/dist/adapters/trigger-background.js.map +1 -0
- package/dist/adapters/types.d.ts +7 -0
- package/dist/adapters/types.js +2 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/adapters/upstash-redis.d.ts +6 -0
- package/dist/adapters/upstash-redis.js +88 -0
- package/dist/adapters/upstash-redis.js.map +1 -0
- package/dist/adapters/vercel-hosting.d.ts +6 -0
- package/dist/adapters/vercel-hosting.js +112 -0
- package/dist/adapters/vercel-hosting.js.map +1 -0
- package/dist/agent-adapter-model.d.ts +108 -0
- package/dist/agent-adapter-model.js +6 -0
- package/dist/agent-adapter-model.js.map +1 -0
- package/dist/agent-adapter-service.d.ts +67 -0
- package/dist/agent-adapter-service.js +299 -0
- package/dist/agent-adapter-service.js.map +1 -0
- package/dist/agent-config.d.ts +56 -0
- package/dist/agent-config.js +129 -0
- package/dist/agent-config.js.map +1 -0
- package/dist/agent-governance-model.d.ts +128 -0
- package/dist/agent-governance-model.js +6 -0
- package/dist/agent-governance-model.js.map +1 -0
- package/dist/agent-governance-service.d.ts +101 -0
- package/dist/agent-governance-service.js +319 -0
- package/dist/agent-governance-service.js.map +1 -0
- package/dist/alert-rules-engine.d.ts +102 -0
- package/dist/alert-rules-engine.js +210 -0
- package/dist/alert-rules-engine.js.map +1 -0
- package/dist/analytics-service.d.ts +126 -0
- package/dist/analytics-service.js +318 -0
- package/dist/analytics-service.js.map +1 -0
- package/dist/analyze.d.ts +19 -0
- package/dist/analyze.js +311 -0
- package/dist/analyze.js.map +1 -0
- package/dist/apm-instrumentor.d.ts +119 -0
- package/dist/apm-instrumentor.js +225 -0
- package/dist/apm-instrumentor.js.map +1 -0
- package/dist/approval-model.d.ts +82 -0
- package/dist/approval-model.js +6 -0
- package/dist/approval-model.js.map +1 -0
- package/dist/approval-service.d.ts +39 -0
- package/dist/approval-service.js +236 -0
- package/dist/approval-service.js.map +1 -0
- package/dist/approval.d.ts +22 -0
- package/dist/approval.js +148 -0
- package/dist/approval.js.map +1 -0
- package/dist/audit-logging-model.d.ts +157 -0
- package/dist/audit-logging-model.js +6 -0
- package/dist/audit-logging-model.js.map +1 -0
- package/dist/audit-logging-service.d.ts +89 -0
- package/dist/audit-logging-service.js +367 -0
- package/dist/audit-logging-service.js.map +1 -0
- package/dist/audit-secrets.d.ts +42 -0
- package/dist/audit-secrets.js +126 -0
- package/dist/audit-secrets.js.map +1 -0
- package/dist/audit.d.ts +43 -0
- package/dist/audit.js +286 -0
- package/dist/audit.js.map +1 -0
- package/dist/author-dashboard.d.ts +84 -0
- package/dist/author-dashboard.js +204 -0
- package/dist/author-dashboard.js.map +1 -0
- package/dist/author-notifications.d.ts +130 -0
- package/dist/author-notifications.js +261 -0
- package/dist/author-notifications.js.map +1 -0
- package/dist/author-verification.d.ts +79 -0
- package/dist/author-verification.js +257 -0
- package/dist/author-verification.js.map +1 -0
- package/dist/autonomous-setup-model.d.ts +117 -0
- package/dist/autonomous-setup-model.js +6 -0
- package/dist/autonomous-setup-model.js.map +1 -0
- package/dist/autonomous-setup-service.d.ts +74 -0
- package/dist/autonomous-setup-service.js +325 -0
- package/dist/autonomous-setup-service.js.map +1 -0
- package/dist/badge-system.d.ts +70 -0
- package/dist/badge-system.js +210 -0
- package/dist/badge-system.js.map +1 -0
- package/dist/baseline.d.ts +34 -0
- package/dist/baseline.js +78 -0
- package/dist/baseline.js.map +1 -0
- package/dist/beta-program-service.d.ts +112 -0
- package/dist/beta-program-service.js +240 -0
- package/dist/beta-program-service.js.map +1 -0
- package/dist/budget.d.ts +34 -0
- package/dist/budget.js +159 -0
- package/dist/budget.js.map +1 -0
- package/dist/bumblebee.d.ts +143 -0
- package/dist/bumblebee.js +384 -0
- package/dist/bumblebee.js.map +1 -0
- package/dist/cache-manager.d.ts +97 -0
- package/dist/cache-manager.js +244 -0
- package/dist/cache-manager.js.map +1 -0
- package/dist/cdn-adapter.d.ts +64 -0
- package/dist/cdn-adapter.js +263 -0
- package/dist/cdn-adapter.js.map +1 -0
- package/dist/certification-workflow-model.d.ts +95 -0
- package/dist/certification-workflow-model.js +6 -0
- package/dist/certification-workflow-model.js.map +1 -0
- package/dist/certification-workflow-service.d.ts +72 -0
- package/dist/certification-workflow-service.js +305 -0
- package/dist/certification-workflow-service.js.map +1 -0
- package/dist/check-design.d.ts +38 -0
- package/dist/check-design.js +256 -0
- package/dist/check-design.js.map +1 -0
- package/dist/check-gitignore.d.ts +39 -0
- package/dist/check-gitignore.js +156 -0
- package/dist/check-gitignore.js.map +1 -0
- package/dist/check-hooks.d.ts +15 -0
- package/dist/check-hooks.js +72 -0
- package/dist/check-hooks.js.map +1 -0
- package/dist/check-lock.d.ts +16 -0
- package/dist/check-lock.js +94 -0
- package/dist/check-lock.js.map +1 -0
- package/dist/check-secrets.d.ts +11 -0
- package/dist/check-secrets.js +320 -0
- package/dist/check-secrets.js.map +1 -0
- package/dist/check-security.d.ts +13 -0
- package/dist/check-security.js +887 -0
- package/dist/check-security.js.map +1 -0
- package/dist/check-services.d.ts +10 -0
- package/dist/check-services.js +44 -0
- package/dist/check-services.js.map +1 -0
- package/dist/check-skills.d.ts +8 -0
- package/dist/check-skills.js +26 -0
- package/dist/check-skills.js.map +1 -0
- package/dist/check-tests.d.ts +43 -0
- package/dist/check-tests.js +175 -0
- package/dist/check-tests.js.map +1 -0
- package/dist/check-tools.d.ts +8 -0
- package/dist/check-tools.js +42 -0
- package/dist/check-tools.js.map +1 -0
- package/dist/check-web-search.d.ts +12 -0
- package/dist/check-web-search.js +168 -0
- package/dist/check-web-search.js.map +1 -0
- package/dist/ci-cd-publisher.d.ts +162 -0
- package/dist/ci-cd-publisher.js +319 -0
- package/dist/ci-cd-publisher.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +4074 -0
- package/dist/cli.js.map +1 -0
- package/dist/clone.d.ts +25 -0
- package/dist/clone.js +73 -0
- package/dist/clone.js.map +1 -0
- package/dist/completions.d.ts +8 -0
- package/dist/completions.js +250 -0
- package/dist/completions.js.map +1 -0
- package/dist/compression-manager.d.ts +107 -0
- package/dist/compression-manager.js +250 -0
- package/dist/compression-manager.js.map +1 -0
- package/dist/config.d.ts +233 -0
- package/dist/config.js +255 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +38 -0
- package/dist/context.js +86 -0
- package/dist/context.js.map +1 -0
- package/dist/cost-monitor.d.ts +72 -0
- package/dist/cost-monitor.js +218 -0
- package/dist/cost-monitor.js.map +1 -0
- package/dist/create-plugin.d.ts +22 -0
- package/dist/create-plugin.js +266 -0
- package/dist/create-plugin.js.map +1 -0
- package/dist/database.d.ts +123 -0
- package/dist/database.js +354 -0
- package/dist/database.js.map +1 -0
- package/dist/datadog-adapter.d.ts +60 -0
- package/dist/datadog-adapter.js +245 -0
- package/dist/datadog-adapter.js.map +1 -0
- package/dist/doctor.d.ts +15 -0
- package/dist/doctor.js +131 -0
- package/dist/doctor.js.map +1 -0
- package/dist/documentation-generator.d.ts +226 -0
- package/dist/documentation-generator.js +348 -0
- package/dist/documentation-generator.js.map +1 -0
- package/dist/elevation-scopes.d.ts +40 -0
- package/dist/elevation-scopes.js +110 -0
- package/dist/elevation-scopes.js.map +1 -0
- package/dist/elevation.d.ts +102 -0
- package/dist/elevation.js +449 -0
- package/dist/elevation.js.map +1 -0
- package/dist/env-diff.d.ts +27 -0
- package/dist/env-diff.js +104 -0
- package/dist/env-diff.js.map +1 -0
- package/dist/env-inspect.d.ts +28 -0
- package/dist/env-inspect.js +81 -0
- package/dist/env-inspect.js.map +1 -0
- package/dist/env-switch.d.ts +37 -0
- package/dist/env-switch.js +102 -0
- package/dist/env-switch.js.map +1 -0
- package/dist/environment.d.ts +27 -0
- package/dist/environment.js +148 -0
- package/dist/environment.js.map +1 -0
- package/dist/error-tracker.d.ts +92 -0
- package/dist/error-tracker.js +206 -0
- package/dist/error-tracker.js.map +1 -0
- package/dist/escalate.d.ts +11 -0
- package/dist/escalate.js +73 -0
- package/dist/escalate.js.map +1 -0
- package/dist/event-stream.d.ts +81 -0
- package/dist/event-stream.js +161 -0
- package/dist/event-stream.js.map +1 -0
- package/dist/fix.d.ts +42 -0
- package/dist/fix.js +419 -0
- package/dist/fix.js.map +1 -0
- package/dist/governance-middleware.d.ts +22 -0
- package/dist/governance-middleware.js +173 -0
- package/dist/governance-middleware.js.map +1 -0
- package/dist/governance.d.ts +44 -0
- package/dist/governance.js +236 -0
- package/dist/governance.js.map +1 -0
- package/dist/hooks.d.ts +25 -0
- package/dist/hooks.js +281 -0
- package/dist/hooks.js.map +1 -0
- package/dist/id-generator.d.ts +43 -0
- package/dist/id-generator.js +47 -0
- package/dist/id-generator.js.map +1 -0
- package/dist/image-optimizer.d.ts +92 -0
- package/dist/image-optimizer.js +202 -0
- package/dist/image-optimizer.js.map +1 -0
- package/dist/install.d.ts +15 -0
- package/dist/install.js +59 -0
- package/dist/install.js.map +1 -0
- package/dist/lock.d.ts +82 -0
- package/dist/lock.js +264 -0
- package/dist/lock.js.map +1 -0
- package/dist/login.d.ts +23 -0
- package/dist/login.js +132 -0
- package/dist/login.js.map +1 -0
- package/dist/mcp-kit-tools-model.d.ts +195 -0
- package/dist/mcp-kit-tools-model.js +6 -0
- package/dist/mcp-kit-tools-model.js.map +1 -0
- package/dist/mcp-kit-tools-service.d.ts +127 -0
- package/dist/mcp-kit-tools-service.js +943 -0
- package/dist/mcp-kit-tools-service.js.map +1 -0
- package/dist/mcp-orchestrator.d.ts +70 -0
- package/dist/mcp-orchestrator.js +175 -0
- package/dist/mcp-orchestrator.js.map +1 -0
- package/dist/mcp-server.d.ts +3 -0
- package/dist/mcp-server.js +722 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/middleware/rate-limiter.d.ts +74 -0
- package/dist/middleware/rate-limiter.js +342 -0
- package/dist/middleware/rate-limiter.js.map +1 -0
- package/dist/migration-runner.d.ts +66 -0
- package/dist/migration-runner.js +192 -0
- package/dist/migration-runner.js.map +1 -0
- package/dist/migrations.d.ts +25 -0
- package/dist/migrations.js +530 -0
- package/dist/migrations.js.map +1 -0
- package/dist/moderation-system.d.ts +153 -0
- package/dist/moderation-system.js +338 -0
- package/dist/moderation-system.js.map +1 -0
- package/dist/multi-agent-workflow-model.d.ts +125 -0
- package/dist/multi-agent-workflow-model.js +6 -0
- package/dist/multi-agent-workflow-model.js.map +1 -0
- package/dist/multi-agent-workflow-service.d.ts +102 -0
- package/dist/multi-agent-workflow-service.js +452 -0
- package/dist/multi-agent-workflow-service.js.map +1 -0
- package/dist/onepassword.d.ts +75 -0
- package/dist/onepassword.js +140 -0
- package/dist/onepassword.js.map +1 -0
- package/dist/open.d.ts +30 -0
- package/dist/open.js +166 -0
- package/dist/open.js.map +1 -0
- package/dist/output.d.ts +32 -0
- package/dist/output.js +295 -0
- package/dist/output.js.map +1 -0
- package/dist/partner-service.d.ts +101 -0
- package/dist/partner-service.js +191 -0
- package/dist/partner-service.js.map +1 -0
- package/dist/payout-service.d.ts +136 -0
- package/dist/payout-service.js +293 -0
- package/dist/payout-service.js.map +1 -0
- package/dist/pkg.d.ts +30 -0
- package/dist/pkg.js +162 -0
- package/dist/pkg.js.map +1 -0
- package/dist/plugin-loader.d.ts +16 -0
- package/dist/plugin-loader.js +124 -0
- package/dist/plugin-loader.js.map +1 -0
- package/dist/plugin-registry-model.d.ts +133 -0
- package/dist/plugin-registry-model.js +6 -0
- package/dist/plugin-registry-model.js.map +1 -0
- package/dist/plugin-registry-service.d.ts +109 -0
- package/dist/plugin-registry-service.js +361 -0
- package/dist/plugin-registry-service.js.map +1 -0
- package/dist/plugin-registry.d.ts +58 -0
- package/dist/plugin-registry.js +108 -0
- package/dist/plugin-registry.js.map +1 -0
- package/dist/plugin-updates.d.ts +135 -0
- package/dist/plugin-updates.js +326 -0
- package/dist/plugin-updates.js.map +1 -0
- package/dist/plugins-cli.d.ts +7 -0
- package/dist/plugins-cli.js +157 -0
- package/dist/plugins-cli.js.map +1 -0
- package/dist/plugins.d.ts +88 -0
- package/dist/plugins.js +251 -0
- package/dist/plugins.js.map +1 -0
- package/dist/policy.d.ts +66 -0
- package/dist/policy.js +160 -0
- package/dist/policy.js.map +1 -0
- package/dist/post-pull-audit.d.ts +39 -0
- package/dist/post-pull-audit.js +151 -0
- package/dist/post-pull-audit.js.map +1 -0
- package/dist/provision.d.ts +17 -0
- package/dist/provision.js +147 -0
- package/dist/provision.js.map +1 -0
- package/dist/query-optimizer.d.ts +102 -0
- package/dist/query-optimizer.js +199 -0
- package/dist/query-optimizer.js.map +1 -0
- package/dist/read-only-mode.d.ts +46 -0
- package/dist/read-only-mode.js +71 -0
- package/dist/read-only-mode.js.map +1 -0
- package/dist/redis-adapter.d.ts +71 -0
- package/dist/redis-adapter.js +278 -0
- package/dist/redis-adapter.js.map +1 -0
- package/dist/resilience-tests.d.ts +120 -0
- package/dist/resilience-tests.js +293 -0
- package/dist/resilience-tests.js.map +1 -0
- package/dist/revocation.d.ts +22 -0
- package/dist/revocation.js +100 -0
- package/dist/revocation.js.map +1 -0
- package/dist/run.d.ts +21 -0
- package/dist/run.js +80 -0
- package/dist/run.js.map +1 -0
- package/dist/scan-build.d.ts +18 -0
- package/dist/scan-build.js +100 -0
- package/dist/scan-build.js.map +1 -0
- package/dist/scan-plaintext.d.ts +24 -0
- package/dist/scan-plaintext.js +147 -0
- package/dist/scan-plaintext.js.map +1 -0
- package/dist/scan-staged.d.ts +15 -0
- package/dist/scan-staged.js +70 -0
- package/dist/scan-staged.js.map +1 -0
- package/dist/scan-transcripts.d.ts +23 -0
- package/dist/scan-transcripts.js +93 -0
- package/dist/scan-transcripts.js.map +1 -0
- package/dist/secret-backends.d.ts +50 -0
- package/dist/secret-backends.js +510 -0
- package/dist/secret-backends.js.map +1 -0
- package/dist/secret-expiration.d.ts +46 -0
- package/dist/secret-expiration.js +172 -0
- package/dist/secret-expiration.js.map +1 -0
- package/dist/secrets-migrate.d.ts +75 -0
- package/dist/secrets-migrate.js +185 -0
- package/dist/secrets-migrate.js.map +1 -0
- package/dist/secrets-model.d.ts +77 -0
- package/dist/secrets-model.js +6 -0
- package/dist/secrets-model.js.map +1 -0
- package/dist/secrets-onecli.d.ts +65 -0
- package/dist/secrets-onecli.js +113 -0
- package/dist/secrets-onecli.js.map +1 -0
- package/dist/secrets-propagate.d.ts +48 -0
- package/dist/secrets-propagate.js +201 -0
- package/dist/secrets-propagate.js.map +1 -0
- package/dist/secrets-pull.d.ts +34 -0
- package/dist/secrets-pull.js +118 -0
- package/dist/secrets-pull.js.map +1 -0
- package/dist/secrets-purge-history.d.ts +53 -0
- package/dist/secrets-purge-history.js +144 -0
- package/dist/secrets-purge-history.js.map +1 -0
- package/dist/secrets-rotate-cli.d.ts +54 -0
- package/dist/secrets-rotate-cli.js +438 -0
- package/dist/secrets-rotate-cli.js.map +1 -0
- package/dist/secrets-rotate.d.ts +38 -0
- package/dist/secrets-rotate.js +65 -0
- package/dist/secrets-rotate.js.map +1 -0
- package/dist/secrets-service.d.ts +73 -0
- package/dist/secrets-service.js +283 -0
- package/dist/secrets-service.js.map +1 -0
- package/dist/secrets-set.d.ts +25 -0
- package/dist/secrets-set.js +33 -0
- package/dist/secrets-set.js.map +1 -0
- package/dist/secrets-sync.d.ts +21 -0
- package/dist/secrets-sync.js +215 -0
- package/dist/secrets-sync.js.map +1 -0
- package/dist/secrets-validate.d.ts +41 -0
- package/dist/secrets-validate.js +126 -0
- package/dist/secrets-validate.js.map +1 -0
- package/dist/secrets-vault-migrate.d.ts +71 -0
- package/dist/secrets-vault-migrate.js +258 -0
- package/dist/secrets-vault-migrate.js.map +1 -0
- package/dist/secrets.d.ts +16 -0
- package/dist/secrets.js +72 -0
- package/dist/secrets.js.map +1 -0
- package/dist/security-hardening.d.ts +150 -0
- package/dist/security-hardening.js +275 -0
- package/dist/security-hardening.js.map +1 -0
- package/dist/security-policy.d.ts +89 -0
- package/dist/security-policy.js +174 -0
- package/dist/security-policy.js.map +1 -0
- package/dist/security-prescan.d.ts +117 -0
- package/dist/security-prescan.js +566 -0
- package/dist/security-prescan.js.map +1 -0
- package/dist/sentry-adapter.d.ts +49 -0
- package/dist/sentry-adapter.js +227 -0
- package/dist/sentry-adapter.js.map +1 -0
- package/dist/service-adapter.d.ts +94 -0
- package/dist/service-adapter.js +162 -0
- package/dist/service-adapter.js.map +1 -0
- package/dist/skills.d.ts +13 -0
- package/dist/skills.js +17 -0
- package/dist/skills.js.map +1 -0
- package/dist/sla-monitor.d.ts +107 -0
- package/dist/sla-monitor.js +233 -0
- package/dist/sla-monitor.js.map +1 -0
- package/dist/stack-detector.d.ts +12 -0
- package/dist/stack-detector.js +251 -0
- package/dist/stack-detector.js.map +1 -0
- package/dist/team-model.d.ts +58 -0
- package/dist/team-model.js +83 -0
- package/dist/team-model.js.map +1 -0
- package/dist/team-service.d.ts +54 -0
- package/dist/team-service.js +206 -0
- package/dist/team-service.js.map +1 -0
- package/dist/toml-generator.d.ts +8 -0
- package/dist/toml-generator.js +223 -0
- package/dist/toml-generator.js.map +1 -0
- package/dist/triage-sandbox.d.ts +34 -0
- package/dist/triage-sandbox.js +167 -0
- package/dist/triage-sandbox.js.map +1 -0
- package/dist/triage.d.ts +30 -0
- package/dist/triage.js +79 -0
- package/dist/triage.js.map +1 -0
- package/dist/update-check.d.ts +13 -0
- package/dist/update-check.js +91 -0
- package/dist/update-check.js.map +1 -0
- package/dist/utils/colors.d.ts +14 -0
- package/dist/utils/colors.js +15 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/utils/didYouMean.d.ts +15 -0
- package/dist/utils/didYouMean.js +47 -0
- package/dist/utils/didYouMean.js.map +1 -0
- package/dist/utils/exec.d.ts +21 -0
- package/dist/utils/exec.js +23 -0
- package/dist/utils/exec.js.map +1 -0
- package/dist/utils/execFileNoThrow.d.ts +14 -0
- package/dist/utils/execFileNoThrow.js +29 -0
- package/dist/utils/execFileNoThrow.js.map +1 -0
- package/dist/utils/flags.d.ts +19 -0
- package/dist/utils/flags.js +36 -0
- package/dist/utils/flags.js.map +1 -0
- package/dist/utils/parseCommand.d.ts +16 -0
- package/dist/utils/parseCommand.js +13 -0
- package/dist/utils/parseCommand.js.map +1 -0
- package/dist/utils/prompt.d.ts +13 -0
- package/dist/utils/prompt.js +35 -0
- package/dist/utils/prompt.js.map +1 -0
- package/dist/utils/promptSelect.d.ts +19 -0
- package/dist/utils/promptSelect.js +89 -0
- package/dist/utils/promptSelect.js.map +1 -0
- package/dist/utils/redactSecrets.d.ts +24 -0
- package/dist/utils/redactSecrets.js +134 -0
- package/dist/utils/redactSecrets.js.map +1 -0
- package/dist/validation/dynamic-schema.d.ts +29 -0
- package/dist/validation/dynamic-schema.js +76 -0
- package/dist/validation/dynamic-schema.js.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { exec } from "../utils/exec.js";
|
|
2
|
+
/**
|
|
3
|
+
* Supabase Database Adapter
|
|
4
|
+
* Sets up Supabase project with database and auth
|
|
5
|
+
*/
|
|
6
|
+
export const supabaseDbAdapter = {
|
|
7
|
+
name: "supabase/db",
|
|
8
|
+
description: "Supabase database and authentication",
|
|
9
|
+
getRequiredTools() {
|
|
10
|
+
return ["supabase"];
|
|
11
|
+
},
|
|
12
|
+
async check(context) {
|
|
13
|
+
try {
|
|
14
|
+
// Check if Supabase URL and keys exist in env
|
|
15
|
+
if (context.existingEnv.SUPABASE_URL &&
|
|
16
|
+
context.existingEnv.SUPABASE_ANON_KEY) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
// Check if supabase is linked
|
|
20
|
+
const { stdout } = await exec("supabase", ["status"], {
|
|
21
|
+
cwd: context.projectPath,
|
|
22
|
+
timeout: 10_000,
|
|
23
|
+
});
|
|
24
|
+
return stdout.includes("API URL") || stdout.includes("supabase_url");
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
async provision(context) {
|
|
31
|
+
try {
|
|
32
|
+
// Step 1: Check if supabase CLI is installed and authenticated
|
|
33
|
+
try {
|
|
34
|
+
await exec("supabase", ["--version"], {
|
|
35
|
+
timeout: 5_000,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return {
|
|
40
|
+
success: false,
|
|
41
|
+
error: "Supabase CLI not installed",
|
|
42
|
+
message: "Install Supabase CLI: brew install supabase/tap/supabase",
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
// Step 2: Check if already initialized
|
|
46
|
+
try {
|
|
47
|
+
await exec("supabase", ["status"], {
|
|
48
|
+
cwd: context.projectPath,
|
|
49
|
+
timeout: 10_000,
|
|
50
|
+
});
|
|
51
|
+
// Already initialized, get existing credentials
|
|
52
|
+
const { stdout: statusOutput } = await exec("supabase", ["status", "--output", "json"], {
|
|
53
|
+
cwd: context.projectPath,
|
|
54
|
+
timeout: 10_000,
|
|
55
|
+
});
|
|
56
|
+
try {
|
|
57
|
+
const status = JSON.parse(statusOutput);
|
|
58
|
+
if (status.API_URL && status.ANON_KEY) {
|
|
59
|
+
return {
|
|
60
|
+
success: true,
|
|
61
|
+
message: "Using existing Supabase project",
|
|
62
|
+
secrets: {
|
|
63
|
+
SUPABASE_URL: status.API_URL,
|
|
64
|
+
SUPABASE_ANON_KEY: status.ANON_KEY,
|
|
65
|
+
SUPABASE_SERVICE_ROLE_KEY: status.SERVICE_ROLE_KEY || "",
|
|
66
|
+
},
|
|
67
|
+
config: {
|
|
68
|
+
service: "supabase/db",
|
|
69
|
+
existing: true,
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// JSON parse failed, continue with linking
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// Not initialized yet
|
|
80
|
+
}
|
|
81
|
+
// Step 3: Initialize Supabase if not already done
|
|
82
|
+
try {
|
|
83
|
+
await exec("supabase", ["init"], {
|
|
84
|
+
cwd: context.projectPath,
|
|
85
|
+
timeout: 10_000,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Init might fail if already initialized, that's OK
|
|
90
|
+
}
|
|
91
|
+
// Step 4: Start local Supabase (for development)
|
|
92
|
+
const { stdout: startOutput } = await exec("supabase", ["start"], {
|
|
93
|
+
cwd: context.projectPath,
|
|
94
|
+
timeout: 120_000, // Starting Supabase can take a while
|
|
95
|
+
});
|
|
96
|
+
// Step 5: Extract credentials from output
|
|
97
|
+
const urlMatch = startOutput.match(/API URL: (http:\/\/[^\s]+)/);
|
|
98
|
+
const anonKeyMatch = startOutput.match(/anon key: ([^\s]+)/);
|
|
99
|
+
const serviceKeyMatch = startOutput.match(/service_role key: ([^\s]+)/);
|
|
100
|
+
if (!urlMatch || !anonKeyMatch) {
|
|
101
|
+
return {
|
|
102
|
+
success: false,
|
|
103
|
+
error: "Could not extract Supabase credentials from output",
|
|
104
|
+
message: "Supabase started but failed to parse credentials",
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
success: true,
|
|
109
|
+
message: "Supabase database configured successfully (local development)",
|
|
110
|
+
secrets: {
|
|
111
|
+
SUPABASE_URL: urlMatch[1],
|
|
112
|
+
SUPABASE_ANON_KEY: anonKeyMatch[1],
|
|
113
|
+
SUPABASE_SERVICE_ROLE_KEY: serviceKeyMatch?.[1] || "",
|
|
114
|
+
},
|
|
115
|
+
config: {
|
|
116
|
+
service: "supabase/db",
|
|
117
|
+
mode: "local",
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
return {
|
|
123
|
+
success: false,
|
|
124
|
+
error: error instanceof Error ? error.message : "Unknown error",
|
|
125
|
+
message: "Failed to provision Supabase database",
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=supabase-db.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabase-db.js","sourceRoot":"","sources":["../../src/adapters/supabase-db.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { apiKeyAdapter } from "./api-key-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* Tinybird — real-time analytics on ClickHouse.
|
|
4
|
+
* API-based; reuses TINYBIRD_TOKEN and carries an optional region API URL.
|
|
5
|
+
*/
|
|
6
|
+
export const tinybirdAnalyticsAdapter = apiKeyAdapter({
|
|
7
|
+
name: "tinybird/analytics",
|
|
8
|
+
description: "Tinybird real-time analytics on ClickHouse",
|
|
9
|
+
required: ["TINYBIRD_TOKEN"],
|
|
10
|
+
optional: [{ env: "TINYBIRD_API_URL", default: "https://api.tinybird.co" }],
|
|
11
|
+
steps: [
|
|
12
|
+
"Set TINYBIRD_TOKEN before running kit add tinybird/analytics:",
|
|
13
|
+
" 1. Go to https://app.tinybird.co and create a workspace",
|
|
14
|
+
" 2. Navigate to Tokens → copy the admin token",
|
|
15
|
+
" 3. Export it: export TINYBIRD_TOKEN=p.eyJ...",
|
|
16
|
+
" 4. Re-run: kit add tinybird/analytics",
|
|
17
|
+
" (EU region: also set TINYBIRD_API_URL=https://api.eu.tinybird.co)",
|
|
18
|
+
],
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=tinybird-analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tinybird-analytics.js","sourceRoot":"","sources":["../../src/adapters/tinybird-analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACpD,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,4CAA4C;IACzD,QAAQ,EAAE,CAAC,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;IAC3E,KAAK,EAAE;QACL,+DAA+D;QAC/D,2DAA2D;QAC3D,gDAAgD;QAChD,gDAAgD;QAChD,yCAAyC;QACzC,qEAAqE;KACtE;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trigger.dev — background jobs and event-driven workflows.
|
|
3
|
+
* API-based; reuses TRIGGER_SECRET_KEY (validated by its `tr_` prefix) and
|
|
4
|
+
* carries an optional API URL for self-hosted instances.
|
|
5
|
+
*/
|
|
6
|
+
export declare const triggerBackgroundAdapter: import("sandstream-kit-adapter-sdk").ServiceAdapter;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { apiKeyAdapter } from "./api-key-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* Trigger.dev — background jobs and event-driven workflows.
|
|
4
|
+
* API-based; reuses TRIGGER_SECRET_KEY (validated by its `tr_` prefix) and
|
|
5
|
+
* carries an optional API URL for self-hosted instances.
|
|
6
|
+
*/
|
|
7
|
+
export const triggerBackgroundAdapter = apiKeyAdapter({
|
|
8
|
+
name: "trigger/background",
|
|
9
|
+
description: "Trigger.dev background jobs and event-driven workflows",
|
|
10
|
+
required: [{ env: "TRIGGER_SECRET_KEY", prefix: "tr_" }],
|
|
11
|
+
optional: [{ env: "TRIGGER_API_URL", default: "https://api.trigger.dev" }],
|
|
12
|
+
steps: [
|
|
13
|
+
"Set TRIGGER_SECRET_KEY before running kit add trigger/background:",
|
|
14
|
+
" 1. Go to https://cloud.trigger.dev and create a project",
|
|
15
|
+
" 2. Navigate to API keys → copy the secret key (starts with tr_)",
|
|
16
|
+
" 3. Export it: export TRIGGER_SECRET_KEY=tr_...",
|
|
17
|
+
" 4. Re-run: kit add trigger/background",
|
|
18
|
+
],
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=trigger-background.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-background.js","sourceRoot":"","sources":["../../src/adapters/trigger-background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACpD,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,wDAAwD;IACrE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACxD,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;IAC1E,KAAK,EAAE;QACL,mEAAmE;QACnE,2DAA2D;QAC3D,mEAAmE;QACnE,kDAAkD;QAClD,yCAAyC;KAC1C;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core types for kit service provisioning adapters.
|
|
3
|
+
*
|
|
4
|
+
* These types are published as a standalone package at `sandstream-kit-adapter-sdk`
|
|
5
|
+
* so third-party developers can build adapters without depending on the full kit codebase.
|
|
6
|
+
*/
|
|
7
|
+
export type { ProvisionResult, AdapterContext, ServiceAdapter, AdapterRegistry, } from "sandstream-kit-adapter-sdk";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstash Redis Adapter
|
|
3
|
+
* Provisions a serverless Redis database via the Upstash REST API
|
|
4
|
+
*/
|
|
5
|
+
export const upstashRedisAdapter = {
|
|
6
|
+
name: "upstash/redis",
|
|
7
|
+
description: "Upstash serverless Redis database",
|
|
8
|
+
getRequiredTools() {
|
|
9
|
+
return []; // API-based, no CLI needed
|
|
10
|
+
},
|
|
11
|
+
async check(context) {
|
|
12
|
+
return !!(context.existingEnv.UPSTASH_REDIS_REST_URL &&
|
|
13
|
+
context.existingEnv.UPSTASH_REDIS_REST_TOKEN);
|
|
14
|
+
},
|
|
15
|
+
async provision(context) {
|
|
16
|
+
const email = context.existingEnv.UPSTASH_EMAIL;
|
|
17
|
+
const apiKey = context.existingEnv.UPSTASH_API_KEY;
|
|
18
|
+
if (!email || !apiKey) {
|
|
19
|
+
return {
|
|
20
|
+
success: false,
|
|
21
|
+
error: "Missing Upstash credentials",
|
|
22
|
+
message: [
|
|
23
|
+
"Set the following environment variables before running kit add upstash/redis:",
|
|
24
|
+
" UPSTASH_EMAIL — your Upstash account email",
|
|
25
|
+
" UPSTASH_API_KEY — your Upstash API key (https://console.upstash.com/account/api)",
|
|
26
|
+
].join("\n"),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
// Return existing if already configured
|
|
30
|
+
if (context.existingEnv.UPSTASH_REDIS_REST_URL &&
|
|
31
|
+
context.existingEnv.UPSTASH_REDIS_REST_TOKEN) {
|
|
32
|
+
return {
|
|
33
|
+
success: true,
|
|
34
|
+
message: "Upstash Redis already configured — keys present in environment",
|
|
35
|
+
secrets: {
|
|
36
|
+
UPSTASH_REDIS_REST_URL: context.existingEnv.UPSTASH_REDIS_REST_URL,
|
|
37
|
+
UPSTASH_REDIS_REST_TOKEN: context.existingEnv.UPSTASH_REDIS_REST_TOKEN,
|
|
38
|
+
},
|
|
39
|
+
config: { service: "upstash/redis", existing: true },
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const dbName = context.projectName ?? context.projectPath.split("/").pop() ?? "kit-redis";
|
|
43
|
+
const auth = Buffer.from(`${email}:${apiKey}`).toString("base64");
|
|
44
|
+
// Create database
|
|
45
|
+
let db;
|
|
46
|
+
try {
|
|
47
|
+
const resp = await fetch("https://api.upstash.com/v2/redis/database", {
|
|
48
|
+
method: "POST",
|
|
49
|
+
headers: {
|
|
50
|
+
Authorization: `Basic ${auth}`,
|
|
51
|
+
"Content-Type": "application/json",
|
|
52
|
+
},
|
|
53
|
+
body: JSON.stringify({ name: dbName, region: "us-east-1", tls: true }),
|
|
54
|
+
});
|
|
55
|
+
if (!resp.ok) {
|
|
56
|
+
const body = await resp.text();
|
|
57
|
+
return {
|
|
58
|
+
success: false,
|
|
59
|
+
error: `Upstash API error ${resp.status}: ${body}`,
|
|
60
|
+
message: "Failed to create Upstash Redis database",
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
db = (await resp.json());
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
return {
|
|
67
|
+
success: false,
|
|
68
|
+
error: error instanceof Error ? error.message : "Network error",
|
|
69
|
+
message: "Failed to reach Upstash API",
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const restUrl = `https://${db.endpoint}`;
|
|
73
|
+
return {
|
|
74
|
+
success: true,
|
|
75
|
+
message: `Upstash Redis database '${dbName}' created`,
|
|
76
|
+
secrets: {
|
|
77
|
+
UPSTASH_REDIS_REST_URL: restUrl,
|
|
78
|
+
UPSTASH_REDIS_REST_TOKEN: db.rest_token,
|
|
79
|
+
KV_URL: restUrl,
|
|
80
|
+
KV_REST_API_URL: restUrl,
|
|
81
|
+
KV_REST_API_TOKEN: db.rest_token,
|
|
82
|
+
KV_REST_API_READ_ONLY_TOKEN: db.read_only_rest_token,
|
|
83
|
+
},
|
|
84
|
+
config: { service: "upstash/redis", databaseId: db.database_id, name: dbName },
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=upstash-redis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upstash-redis.js","sourceRoot":"","sources":["../../src/adapters/upstash-redis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { exec } from "../utils/exec.js";
|
|
4
|
+
/**
|
|
5
|
+
* Vercel Hosting Adapter
|
|
6
|
+
* Links repository to Vercel and sets up deployment
|
|
7
|
+
*/
|
|
8
|
+
export const vercelHostingAdapter = {
|
|
9
|
+
name: "vercel/hosting",
|
|
10
|
+
description: "Vercel hosting and deployment",
|
|
11
|
+
getRequiredTools() {
|
|
12
|
+
return ["vercel"];
|
|
13
|
+
},
|
|
14
|
+
async check(context) {
|
|
15
|
+
try {
|
|
16
|
+
// Check if .vercel directory exists (indicates project is linked)
|
|
17
|
+
await readFile(resolve(context.projectPath, ".vercel", "project.json"), "utf-8");
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
async provision(context) {
|
|
25
|
+
try {
|
|
26
|
+
// Step 1: Check if Vercel CLI is installed
|
|
27
|
+
try {
|
|
28
|
+
await exec("vercel", ["--version"], {
|
|
29
|
+
timeout: 5_000,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return {
|
|
34
|
+
success: false,
|
|
35
|
+
error: "Vercel CLI not installed",
|
|
36
|
+
message: "Install Vercel CLI: npm install -g vercel",
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
// Step 2: Check authentication
|
|
40
|
+
try {
|
|
41
|
+
const { stdout: whoamiOutput } = await exec("vercel", ["whoami"], {
|
|
42
|
+
timeout: 10_000,
|
|
43
|
+
});
|
|
44
|
+
if (!whoamiOutput.trim() || whoamiOutput.includes("Error")) {
|
|
45
|
+
return {
|
|
46
|
+
success: false,
|
|
47
|
+
error: "Vercel CLI not authenticated",
|
|
48
|
+
message: "Authenticate with Vercel: vercel login",
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return {
|
|
54
|
+
success: false,
|
|
55
|
+
error: "Vercel CLI not authenticated",
|
|
56
|
+
message: "Authenticate with Vercel: vercel login",
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// Step 3: Link project (interactive, will ask for project details)
|
|
60
|
+
await exec("vercel", ["link", "--yes"], {
|
|
61
|
+
cwd: context.projectPath,
|
|
62
|
+
timeout: 30_000,
|
|
63
|
+
});
|
|
64
|
+
// Step 4: Get project info
|
|
65
|
+
const { stdout: projectInfo } = await exec("vercel", ["project", "ls", "--json"], {
|
|
66
|
+
timeout: 10_000,
|
|
67
|
+
});
|
|
68
|
+
let projectData = {};
|
|
69
|
+
try {
|
|
70
|
+
const projects = JSON.parse(projectInfo);
|
|
71
|
+
if (projects && projects.length > 0) {
|
|
72
|
+
projectData = projects[0];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
// JSON parse failed
|
|
77
|
+
}
|
|
78
|
+
// Step 5: Get environment variables if project is linked
|
|
79
|
+
let secrets = {};
|
|
80
|
+
try {
|
|
81
|
+
// Read .vercel/project.json to get project ID
|
|
82
|
+
const vercelConfig = await readFile(resolve(context.projectPath, ".vercel", "project.json"), "utf-8");
|
|
83
|
+
const config = JSON.parse(vercelConfig);
|
|
84
|
+
secrets = {
|
|
85
|
+
VERCEL_PROJECT_ID: config.projectId || "",
|
|
86
|
+
VERCEL_ORG_ID: config.orgId || "",
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Could not read vercel config
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
success: true,
|
|
94
|
+
message: "Vercel hosting configured successfully",
|
|
95
|
+
secrets,
|
|
96
|
+
config: {
|
|
97
|
+
service: "vercel/hosting",
|
|
98
|
+
linked: true,
|
|
99
|
+
projectName: projectData.name || context.projectName,
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
return {
|
|
105
|
+
success: false,
|
|
106
|
+
error: error instanceof Error ? error.message : "Unknown error",
|
|
107
|
+
message: "Failed to provision Vercel hosting",
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=vercel-hosting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel-hosting.js","sourceRoot":"","sources":["../../src/adapters/vercel-hosting.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent-Specific Adapters — data models
|
|
3
|
+
* Adapters for Claude, Cursor, Cline with introspection, automation, collaboration
|
|
4
|
+
*/
|
|
5
|
+
export type AgentType = "claude" | "cursor" | "cline" | "generic";
|
|
6
|
+
export type AdapterStatus = "unknown" | "not_installed" | "installed" | "configured" | "active";
|
|
7
|
+
export type CapabilityType = "file_read" | "file_write" | "code_execution" | "terminal_access" | "git_integration" | "debugging" | "testing" | "ai_collaboration" | "workspace_awareness" | "context_management";
|
|
8
|
+
export type CollaborationMode = "sequential" | "parallel" | "competitive" | "hierarchical";
|
|
9
|
+
export interface AgentProfile {
|
|
10
|
+
id: string;
|
|
11
|
+
agent_type: AgentType;
|
|
12
|
+
version: string;
|
|
13
|
+
name: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
capabilities: CapabilityType[];
|
|
16
|
+
config_required: string[];
|
|
17
|
+
optional_config: string[];
|
|
18
|
+
installation_method: "npm" | "manual" | "extension" | "cli";
|
|
19
|
+
homepage?: string;
|
|
20
|
+
documentation?: string;
|
|
21
|
+
created_at: string;
|
|
22
|
+
updated_at: string;
|
|
23
|
+
}
|
|
24
|
+
export interface AgentAdapter {
|
|
25
|
+
id: string;
|
|
26
|
+
team_id: string;
|
|
27
|
+
agent_type: AgentType;
|
|
28
|
+
agent_profile_id: string;
|
|
29
|
+
status: AdapterStatus;
|
|
30
|
+
version: string;
|
|
31
|
+
installed_at?: string;
|
|
32
|
+
configured_at?: string;
|
|
33
|
+
config: Record<string, string | number | boolean>;
|
|
34
|
+
enabled_capabilities: CapabilityType[];
|
|
35
|
+
disabled_capabilities: CapabilityType[];
|
|
36
|
+
health_status: "healthy" | "degraded" | "error";
|
|
37
|
+
last_health_check?: string;
|
|
38
|
+
created_at: string;
|
|
39
|
+
updated_at: string;
|
|
40
|
+
}
|
|
41
|
+
export interface AgentCapability {
|
|
42
|
+
id: string;
|
|
43
|
+
adapter_id: string;
|
|
44
|
+
team_id: string;
|
|
45
|
+
capability_type: CapabilityType;
|
|
46
|
+
enabled: boolean;
|
|
47
|
+
required_config: Record<string, unknown>;
|
|
48
|
+
permissions_required: string[];
|
|
49
|
+
rate_limit?: number;
|
|
50
|
+
timeout_ms?: number;
|
|
51
|
+
last_used?: string;
|
|
52
|
+
usage_count: number;
|
|
53
|
+
created_at: string;
|
|
54
|
+
updated_at: string;
|
|
55
|
+
}
|
|
56
|
+
export interface AgentIntrospection {
|
|
57
|
+
id: string;
|
|
58
|
+
team_id: string;
|
|
59
|
+
adapter_id: string;
|
|
60
|
+
introspection_type: "capabilities" | "context" | "state" | "performance" | "health";
|
|
61
|
+
data: Record<string, unknown>;
|
|
62
|
+
timestamp: string;
|
|
63
|
+
ttl_seconds: number;
|
|
64
|
+
}
|
|
65
|
+
export interface AgentAutomation {
|
|
66
|
+
id: string;
|
|
67
|
+
team_id: string;
|
|
68
|
+
adapter_id: string;
|
|
69
|
+
automation_name: string;
|
|
70
|
+
description?: string;
|
|
71
|
+
trigger: string;
|
|
72
|
+
actions: string[];
|
|
73
|
+
enabled: boolean;
|
|
74
|
+
run_count: number;
|
|
75
|
+
last_run?: string;
|
|
76
|
+
error_count: number;
|
|
77
|
+
created_at: string;
|
|
78
|
+
updated_at: string;
|
|
79
|
+
}
|
|
80
|
+
export interface AgentCollaboration {
|
|
81
|
+
id: string;
|
|
82
|
+
team_id: string;
|
|
83
|
+
collaboration_id: string;
|
|
84
|
+
agents: {
|
|
85
|
+
adapter_id: string;
|
|
86
|
+
agent_type: AgentType;
|
|
87
|
+
role: "primary" | "secondary" | "observer";
|
|
88
|
+
}[];
|
|
89
|
+
mode: CollaborationMode;
|
|
90
|
+
shared_context: Record<string, unknown>;
|
|
91
|
+
status: "active" | "paused" | "completed" | "failed";
|
|
92
|
+
created_at: string;
|
|
93
|
+
updated_at: string;
|
|
94
|
+
completed_at?: string;
|
|
95
|
+
}
|
|
96
|
+
export interface AgentMetrics {
|
|
97
|
+
adapter_id: string;
|
|
98
|
+
agent_type: AgentType;
|
|
99
|
+
health_score: number;
|
|
100
|
+
uptime_percent: number;
|
|
101
|
+
capability_coverage: number;
|
|
102
|
+
average_latency_ms: number;
|
|
103
|
+
error_rate_percent: number;
|
|
104
|
+
last_activity: string;
|
|
105
|
+
collaborations_active: number;
|
|
106
|
+
automations_active: number;
|
|
107
|
+
operations_today: number;
|
|
108
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-adapter-model.js","sourceRoot":"","sources":["../src/agent-adapter-model.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { AgentAdapter, AgentCapability, AgentIntrospection, AgentAutomation, AgentCollaboration, AgentMetrics, AgentType } from "./agent-adapter-model.js";
|
|
2
|
+
/**
|
|
3
|
+
* Register agent adapter for team
|
|
4
|
+
*/
|
|
5
|
+
export declare function registerAgentAdapter(team_id: string, agent_type: AgentType, config: Record<string, string | number | boolean>): {
|
|
6
|
+
adapter: AgentAdapter;
|
|
7
|
+
error?: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Get agent adapter status
|
|
11
|
+
*/
|
|
12
|
+
export declare function getAdapterStatus(team_id: string, adapter_id: string): {
|
|
13
|
+
adapter: AgentAdapter | null;
|
|
14
|
+
error?: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Check agent capabilities
|
|
18
|
+
*/
|
|
19
|
+
export declare function checkCapabilities(team_id: string, adapter_id: string): {
|
|
20
|
+
capabilities: AgentCapability[];
|
|
21
|
+
coverage_percent: number;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Enable/disable capability
|
|
25
|
+
*/
|
|
26
|
+
export declare function toggleCapability(team_id: string, capability_id: string, enabled: boolean): {
|
|
27
|
+
capability: AgentCapability;
|
|
28
|
+
error?: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Introspect agent state
|
|
32
|
+
*/
|
|
33
|
+
export declare function introspectAgent(team_id: string, adapter_id: string, introspection_type: string): {
|
|
34
|
+
introspection: AgentIntrospection;
|
|
35
|
+
error?: string;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Create agent automation
|
|
39
|
+
*/
|
|
40
|
+
export declare function createAutomation(team_id: string, adapter_id: string, automation_name: string, trigger: string, actions: string[]): {
|
|
41
|
+
automation: AgentAutomation;
|
|
42
|
+
error?: string;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Setup agent collaboration
|
|
46
|
+
*/
|
|
47
|
+
export declare function setupCollaboration(team_id: string, agent_adapter_ids: string[], collaboration_mode: string, shared_context?: Record<string, unknown>): {
|
|
48
|
+
collaboration: AgentCollaboration;
|
|
49
|
+
error?: string;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Get agent metrics
|
|
53
|
+
*/
|
|
54
|
+
export declare function getAdapterMetrics(team_id: string, adapter_id: string): AgentMetrics;
|
|
55
|
+
/**
|
|
56
|
+
* List team agents
|
|
57
|
+
*/
|
|
58
|
+
export declare function listTeamAdapters(team_id: string): {
|
|
59
|
+
adapters: AgentAdapter[];
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Get collaboration status
|
|
63
|
+
*/
|
|
64
|
+
export declare function getCollaborationStatus(team_id: string, collaboration_id: string): {
|
|
65
|
+
collaboration: AgentCollaboration | null;
|
|
66
|
+
error?: string;
|
|
67
|
+
};
|