availsync 0.1.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/.adal/skills/stripe-best-practices/SKILL.md +42 -0
- package/.adal/skills/stripe-best-practices/references/billing.md +36 -0
- package/.adal/skills/stripe-best-practices/references/connect.md +48 -0
- package/.adal/skills/stripe-best-practices/references/payments.md +79 -0
- package/.adal/skills/stripe-best-practices/references/security.md +109 -0
- package/.adal/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.adal/skills/stripe-projects/SKILL.md +139 -0
- package/.adal/skills/upgrade-stripe/SKILL.md +185 -0
- package/.agents/skills/stripe-best-practices/SKILL.md +42 -0
- package/.agents/skills/stripe-best-practices/references/billing.md +36 -0
- package/.agents/skills/stripe-best-practices/references/connect.md +48 -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/treasury.md +16 -0
- package/.agents/skills/stripe-projects/SKILL.md +139 -0
- package/.agents/skills/upgrade-stripe/SKILL.md +185 -0
- package/.augment/skills/stripe-best-practices/SKILL.md +42 -0
- package/.augment/skills/stripe-best-practices/references/billing.md +36 -0
- package/.augment/skills/stripe-best-practices/references/connect.md +48 -0
- package/.augment/skills/stripe-best-practices/references/payments.md +79 -0
- package/.augment/skills/stripe-best-practices/references/security.md +109 -0
- package/.augment/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.augment/skills/stripe-projects/SKILL.md +139 -0
- package/.augment/skills/upgrade-stripe/SKILL.md +185 -0
- package/.bob/skills/stripe-best-practices/SKILL.md +42 -0
- package/.bob/skills/stripe-best-practices/references/billing.md +36 -0
- package/.bob/skills/stripe-best-practices/references/connect.md +48 -0
- package/.bob/skills/stripe-best-practices/references/payments.md +79 -0
- package/.bob/skills/stripe-best-practices/references/security.md +109 -0
- package/.bob/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.bob/skills/stripe-projects/SKILL.md +139 -0
- package/.bob/skills/upgrade-stripe/SKILL.md +185 -0
- package/.claude/settings.local.json +7 -0
- package/.claude/skills/stripe-best-practices/SKILL.md +42 -0
- package/.claude/skills/stripe-best-practices/references/billing.md +36 -0
- package/.claude/skills/stripe-best-practices/references/connect.md +48 -0
- package/.claude/skills/stripe-best-practices/references/payments.md +79 -0
- package/.claude/skills/stripe-best-practices/references/security.md +109 -0
- package/.claude/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.claude/skills/stripe-projects/SKILL.md +139 -0
- package/.claude/skills/upgrade-stripe/SKILL.md +185 -0
- package/.codebuddy/skills/stripe-best-practices/SKILL.md +42 -0
- package/.codebuddy/skills/stripe-best-practices/references/billing.md +36 -0
- package/.codebuddy/skills/stripe-best-practices/references/connect.md +48 -0
- package/.codebuddy/skills/stripe-best-practices/references/payments.md +79 -0
- package/.codebuddy/skills/stripe-best-practices/references/security.md +109 -0
- package/.codebuddy/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.codebuddy/skills/stripe-projects/SKILL.md +139 -0
- package/.codebuddy/skills/upgrade-stripe/SKILL.md +185 -0
- package/.commandcode/skills/stripe-best-practices/SKILL.md +42 -0
- package/.commandcode/skills/stripe-best-practices/references/billing.md +36 -0
- package/.commandcode/skills/stripe-best-practices/references/connect.md +48 -0
- package/.commandcode/skills/stripe-best-practices/references/payments.md +79 -0
- package/.commandcode/skills/stripe-best-practices/references/security.md +109 -0
- package/.commandcode/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.commandcode/skills/stripe-projects/SKILL.md +139 -0
- package/.commandcode/skills/upgrade-stripe/SKILL.md +185 -0
- package/.continue/skills/stripe-best-practices/SKILL.md +42 -0
- package/.continue/skills/stripe-best-practices/references/billing.md +36 -0
- package/.continue/skills/stripe-best-practices/references/connect.md +48 -0
- package/.continue/skills/stripe-best-practices/references/payments.md +79 -0
- package/.continue/skills/stripe-best-practices/references/security.md +109 -0
- package/.continue/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.continue/skills/stripe-projects/SKILL.md +139 -0
- package/.continue/skills/upgrade-stripe/SKILL.md +185 -0
- package/.cortex/skills/stripe-best-practices/SKILL.md +42 -0
- package/.cortex/skills/stripe-best-practices/references/billing.md +36 -0
- package/.cortex/skills/stripe-best-practices/references/connect.md +48 -0
- package/.cortex/skills/stripe-best-practices/references/payments.md +79 -0
- package/.cortex/skills/stripe-best-practices/references/security.md +109 -0
- package/.cortex/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.cortex/skills/stripe-projects/SKILL.md +139 -0
- package/.cortex/skills/upgrade-stripe/SKILL.md +185 -0
- package/.crush/skills/stripe-best-practices/SKILL.md +42 -0
- package/.crush/skills/stripe-best-practices/references/billing.md +36 -0
- package/.crush/skills/stripe-best-practices/references/connect.md +48 -0
- package/.crush/skills/stripe-best-practices/references/payments.md +79 -0
- package/.crush/skills/stripe-best-practices/references/security.md +109 -0
- package/.crush/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.crush/skills/stripe-projects/SKILL.md +139 -0
- package/.crush/skills/upgrade-stripe/SKILL.md +185 -0
- package/.env.example +20 -0
- package/.factory/skills/stripe-best-practices/SKILL.md +42 -0
- package/.factory/skills/stripe-best-practices/references/billing.md +36 -0
- package/.factory/skills/stripe-best-practices/references/connect.md +48 -0
- package/.factory/skills/stripe-best-practices/references/payments.md +79 -0
- package/.factory/skills/stripe-best-practices/references/security.md +109 -0
- package/.factory/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.factory/skills/stripe-projects/SKILL.md +139 -0
- package/.factory/skills/upgrade-stripe/SKILL.md +185 -0
- package/.goose/skills/stripe-best-practices/SKILL.md +42 -0
- package/.goose/skills/stripe-best-practices/references/billing.md +36 -0
- package/.goose/skills/stripe-best-practices/references/connect.md +48 -0
- package/.goose/skills/stripe-best-practices/references/payments.md +79 -0
- package/.goose/skills/stripe-best-practices/references/security.md +109 -0
- package/.goose/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.goose/skills/stripe-projects/SKILL.md +139 -0
- package/.goose/skills/upgrade-stripe/SKILL.md +185 -0
- package/.iflow/skills/stripe-best-practices/SKILL.md +42 -0
- package/.iflow/skills/stripe-best-practices/references/billing.md +36 -0
- package/.iflow/skills/stripe-best-practices/references/connect.md +48 -0
- package/.iflow/skills/stripe-best-practices/references/payments.md +79 -0
- package/.iflow/skills/stripe-best-practices/references/security.md +109 -0
- package/.iflow/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.iflow/skills/stripe-projects/SKILL.md +139 -0
- package/.iflow/skills/upgrade-stripe/SKILL.md +185 -0
- package/.junie/skills/stripe-best-practices/SKILL.md +42 -0
- package/.junie/skills/stripe-best-practices/references/billing.md +36 -0
- package/.junie/skills/stripe-best-practices/references/connect.md +48 -0
- package/.junie/skills/stripe-best-practices/references/payments.md +79 -0
- package/.junie/skills/stripe-best-practices/references/security.md +109 -0
- package/.junie/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.junie/skills/stripe-projects/SKILL.md +139 -0
- package/.junie/skills/upgrade-stripe/SKILL.md +185 -0
- package/.kilocode/skills/stripe-best-practices/SKILL.md +42 -0
- package/.kilocode/skills/stripe-best-practices/references/billing.md +36 -0
- package/.kilocode/skills/stripe-best-practices/references/connect.md +48 -0
- package/.kilocode/skills/stripe-best-practices/references/payments.md +79 -0
- package/.kilocode/skills/stripe-best-practices/references/security.md +109 -0
- package/.kilocode/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.kilocode/skills/stripe-projects/SKILL.md +139 -0
- package/.kilocode/skills/upgrade-stripe/SKILL.md +185 -0
- package/.kiro/skills/stripe-best-practices/SKILL.md +42 -0
- package/.kiro/skills/stripe-best-practices/references/billing.md +36 -0
- package/.kiro/skills/stripe-best-practices/references/connect.md +48 -0
- package/.kiro/skills/stripe-best-practices/references/payments.md +79 -0
- package/.kiro/skills/stripe-best-practices/references/security.md +109 -0
- package/.kiro/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.kiro/skills/stripe-projects/SKILL.md +139 -0
- package/.kiro/skills/upgrade-stripe/SKILL.md +185 -0
- package/.kode/skills/stripe-best-practices/SKILL.md +42 -0
- package/.kode/skills/stripe-best-practices/references/billing.md +36 -0
- package/.kode/skills/stripe-best-practices/references/connect.md +48 -0
- package/.kode/skills/stripe-best-practices/references/payments.md +79 -0
- package/.kode/skills/stripe-best-practices/references/security.md +109 -0
- package/.kode/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.kode/skills/stripe-projects/SKILL.md +139 -0
- package/.kode/skills/upgrade-stripe/SKILL.md +185 -0
- package/.mcpjam/skills/stripe-best-practices/SKILL.md +42 -0
- package/.mcpjam/skills/stripe-best-practices/references/billing.md +36 -0
- package/.mcpjam/skills/stripe-best-practices/references/connect.md +48 -0
- package/.mcpjam/skills/stripe-best-practices/references/payments.md +79 -0
- package/.mcpjam/skills/stripe-best-practices/references/security.md +109 -0
- package/.mcpjam/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.mcpjam/skills/stripe-projects/SKILL.md +139 -0
- package/.mcpjam/skills/upgrade-stripe/SKILL.md +185 -0
- package/.mux/skills/stripe-best-practices/SKILL.md +42 -0
- package/.mux/skills/stripe-best-practices/references/billing.md +36 -0
- package/.mux/skills/stripe-best-practices/references/connect.md +48 -0
- package/.mux/skills/stripe-best-practices/references/payments.md +79 -0
- package/.mux/skills/stripe-best-practices/references/security.md +109 -0
- package/.mux/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.mux/skills/stripe-projects/SKILL.md +139 -0
- package/.mux/skills/upgrade-stripe/SKILL.md +185 -0
- package/.neovate/skills/stripe-best-practices/SKILL.md +42 -0
- package/.neovate/skills/stripe-best-practices/references/billing.md +36 -0
- package/.neovate/skills/stripe-best-practices/references/connect.md +48 -0
- package/.neovate/skills/stripe-best-practices/references/payments.md +79 -0
- package/.neovate/skills/stripe-best-practices/references/security.md +109 -0
- package/.neovate/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.neovate/skills/stripe-projects/SKILL.md +139 -0
- package/.neovate/skills/upgrade-stripe/SKILL.md +185 -0
- package/.nixpacksignore +14 -0
- package/.openhands/skills/stripe-best-practices/SKILL.md +42 -0
- package/.openhands/skills/stripe-best-practices/references/billing.md +36 -0
- package/.openhands/skills/stripe-best-practices/references/connect.md +48 -0
- package/.openhands/skills/stripe-best-practices/references/payments.md +79 -0
- package/.openhands/skills/stripe-best-practices/references/security.md +109 -0
- package/.openhands/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.openhands/skills/stripe-projects/SKILL.md +139 -0
- package/.openhands/skills/upgrade-stripe/SKILL.md +185 -0
- package/.pi/skills/stripe-best-practices/SKILL.md +42 -0
- package/.pi/skills/stripe-best-practices/references/billing.md +36 -0
- package/.pi/skills/stripe-best-practices/references/connect.md +48 -0
- package/.pi/skills/stripe-best-practices/references/payments.md +79 -0
- package/.pi/skills/stripe-best-practices/references/security.md +109 -0
- package/.pi/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.pi/skills/stripe-projects/SKILL.md +139 -0
- package/.pi/skills/upgrade-stripe/SKILL.md +185 -0
- package/.pochi/skills/stripe-best-practices/SKILL.md +42 -0
- package/.pochi/skills/stripe-best-practices/references/billing.md +36 -0
- package/.pochi/skills/stripe-best-practices/references/connect.md +48 -0
- package/.pochi/skills/stripe-best-practices/references/payments.md +79 -0
- package/.pochi/skills/stripe-best-practices/references/security.md +109 -0
- package/.pochi/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.pochi/skills/stripe-projects/SKILL.md +139 -0
- package/.pochi/skills/upgrade-stripe/SKILL.md +185 -0
- package/.qoder/skills/stripe-best-practices/SKILL.md +42 -0
- package/.qoder/skills/stripe-best-practices/references/billing.md +36 -0
- package/.qoder/skills/stripe-best-practices/references/connect.md +48 -0
- package/.qoder/skills/stripe-best-practices/references/payments.md +79 -0
- package/.qoder/skills/stripe-best-practices/references/security.md +109 -0
- package/.qoder/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.qoder/skills/stripe-projects/SKILL.md +139 -0
- package/.qoder/skills/upgrade-stripe/SKILL.md +185 -0
- package/.qwen/skills/stripe-best-practices/SKILL.md +42 -0
- package/.qwen/skills/stripe-best-practices/references/billing.md +36 -0
- package/.qwen/skills/stripe-best-practices/references/connect.md +48 -0
- package/.qwen/skills/stripe-best-practices/references/payments.md +79 -0
- package/.qwen/skills/stripe-best-practices/references/security.md +109 -0
- package/.qwen/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.qwen/skills/stripe-projects/SKILL.md +139 -0
- package/.qwen/skills/upgrade-stripe/SKILL.md +185 -0
- package/.roo/skills/stripe-best-practices/SKILL.md +42 -0
- package/.roo/skills/stripe-best-practices/references/billing.md +36 -0
- package/.roo/skills/stripe-best-practices/references/connect.md +48 -0
- package/.roo/skills/stripe-best-practices/references/payments.md +79 -0
- package/.roo/skills/stripe-best-practices/references/security.md +109 -0
- package/.roo/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.roo/skills/stripe-projects/SKILL.md +139 -0
- package/.roo/skills/upgrade-stripe/SKILL.md +185 -0
- package/.trae/skills/stripe-best-practices/SKILL.md +42 -0
- package/.trae/skills/stripe-best-practices/references/billing.md +36 -0
- package/.trae/skills/stripe-best-practices/references/connect.md +48 -0
- package/.trae/skills/stripe-best-practices/references/payments.md +79 -0
- package/.trae/skills/stripe-best-practices/references/security.md +109 -0
- package/.trae/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.trae/skills/stripe-projects/SKILL.md +139 -0
- package/.trae/skills/upgrade-stripe/SKILL.md +185 -0
- package/.vibe/skills/stripe-best-practices/SKILL.md +42 -0
- package/.vibe/skills/stripe-best-practices/references/billing.md +36 -0
- package/.vibe/skills/stripe-best-practices/references/connect.md +48 -0
- package/.vibe/skills/stripe-best-practices/references/payments.md +79 -0
- package/.vibe/skills/stripe-best-practices/references/security.md +109 -0
- package/.vibe/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.vibe/skills/stripe-projects/SKILL.md +139 -0
- package/.vibe/skills/upgrade-stripe/SKILL.md +185 -0
- package/.windsurf/skills/stripe-best-practices/SKILL.md +42 -0
- package/.windsurf/skills/stripe-best-practices/references/billing.md +36 -0
- package/.windsurf/skills/stripe-best-practices/references/connect.md +48 -0
- package/.windsurf/skills/stripe-best-practices/references/payments.md +79 -0
- package/.windsurf/skills/stripe-best-practices/references/security.md +109 -0
- package/.windsurf/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.windsurf/skills/stripe-projects/SKILL.md +139 -0
- package/.windsurf/skills/upgrade-stripe/SKILL.md +185 -0
- package/.zencoder/skills/stripe-best-practices/SKILL.md +42 -0
- package/.zencoder/skills/stripe-best-practices/references/billing.md +36 -0
- package/.zencoder/skills/stripe-best-practices/references/connect.md +48 -0
- package/.zencoder/skills/stripe-best-practices/references/payments.md +79 -0
- package/.zencoder/skills/stripe-best-practices/references/security.md +109 -0
- package/.zencoder/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.zencoder/skills/stripe-projects/SKILL.md +139 -0
- package/.zencoder/skills/upgrade-stripe/SKILL.md +185 -0
- package/AUDIT.md +95 -0
- package/BLOCKERS.md +0 -0
- package/COOLIFY.md +51 -0
- package/MCP_SETUP.md +23 -0
- package/PRODUCTION_CHECKLIST.md +246 -0
- package/README.md +47 -0
- package/ROADMAP.md +91 -0
- package/docs/superpowers/plans/2026-05-11-availsync-frontend-sales-flow.md +2445 -0
- package/frontend/.env.example +2 -0
- package/frontend/app/admin/layout.tsx +13 -0
- package/frontend/app/admin/page.tsx +747 -0
- package/frontend/app/app/activity/page.tsx +257 -0
- package/frontend/app/app/agents/[agentId]/page.tsx +21 -0
- package/frontend/app/app/agents/page.tsx +1155 -0
- package/frontend/app/app/audit/page.tsx +225 -0
- package/frontend/app/app/availability/page.tsx +840 -0
- package/frontend/app/app/holds/page.tsx +262 -0
- package/frontend/app/app/layout.tsx +19 -0
- package/frontend/app/app/onboarding/page.tsx +10 -0
- package/frontend/app/app/onboarding/verify/page.tsx +309 -0
- package/frontend/app/app/page.tsx +508 -0
- package/frontend/app/app/settings/page.tsx +399 -0
- package/frontend/app/app/work/page.tsx +426 -0
- package/frontend/app/changelog/page.tsx +93 -0
- package/frontend/app/checkout/page.tsx +25 -0
- package/frontend/app/docs/api/page.tsx +157 -0
- package/frontend/app/docs/page.tsx +296 -0
- package/frontend/app/docs/pilot/page.tsx +127 -0
- package/frontend/app/docs/quickstart/page.tsx +318 -0
- package/frontend/app/docs/reliability/page.tsx +78 -0
- package/frontend/app/docs/sdk/node/page.tsx +166 -0
- package/frontend/app/globals.css +57 -0
- package/frontend/app/icon.png +0 -0
- package/frontend/app/layout.tsx +87 -0
- package/frontend/app/login/page.tsx +14 -0
- package/frontend/app/page.tsx +47 -0
- package/frontend/app/pricing/page.tsx +66 -0
- package/frontend/app/privacy/page.tsx +52 -0
- package/frontend/app/robots.ts +26 -0
- package/frontend/app/security/page.tsx +74 -0
- package/frontend/app/signup/page.tsx +14 -0
- package/frontend/app/sitemap.ts +14 -0
- package/frontend/app/terms/page.tsx +51 -0
- package/frontend/components/brand/AvailsyncLogo.tsx +56 -0
- package/frontend/components/checkout/CheckoutClient.tsx +100 -0
- package/frontend/components/dashboard/AgentForm.tsx +59 -0
- package/frontend/components/dashboard/AppShell.tsx +291 -0
- package/frontend/components/dashboard/AvailabilityChecker.tsx +117 -0
- package/frontend/components/dashboard/AvailabilityWindowForm.tsx +40 -0
- package/frontend/components/dashboard/HoldForm.tsx +133 -0
- package/frontend/components/dashboard/MetricCard.tsx +10 -0
- package/frontend/components/login/LoginForm.tsx +95 -0
- package/frontend/components/marketing/AgentCoordinationStory.tsx +1530 -0
- package/frontend/components/marketing/Faq.tsx +41 -0
- package/frontend/components/marketing/Hero.tsx +73 -0
- package/frontend/components/marketing/HowItWorks.tsx +28 -0
- package/frontend/components/marketing/ObserveModeTeaser.tsx +41 -0
- package/frontend/components/marketing/PricingTeaser.tsx +23 -0
- package/frontend/components/marketing/ProblemSolution.tsx +36 -0
- package/frontend/components/marketing/SiteFooter.tsx +59 -0
- package/frontend/components/marketing/SiteHeader.tsx +45 -0
- package/frontend/components/marketing/UseCases.tsx +27 -0
- package/frontend/components/onboarding/OnboardingClient.tsx +278 -0
- package/frontend/components/pricing/PricingCards.tsx +65 -0
- package/frontend/components/privacy/CookieConsent.tsx +230 -0
- package/frontend/components/privacy/CookieSettingsButton.tsx +15 -0
- package/frontend/components/seo/JsonLd.tsx +10 -0
- package/frontend/components/signup/SignupForm.tsx +55 -0
- package/frontend/components/ui/Badge.tsx +23 -0
- package/frontend/components/ui/Button.tsx +37 -0
- package/frontend/components/ui/Card.tsx +11 -0
- package/frontend/components/ui/ConfirmDialog.tsx +77 -0
- package/frontend/components/ui/EmptyState.tsx +24 -0
- package/frontend/components/ui/Input.tsx +14 -0
- package/frontend/components/ui/KeyDisplay.tsx +49 -0
- package/frontend/components/ui/Select.tsx +14 -0
- package/frontend/components/ui/Skeleton.tsx +24 -0
- package/frontend/components/ui/Tabs.tsx +19 -0
- package/frontend/components/ui/Textarea.tsx +14 -0
- package/frontend/components/ui/Toast.tsx +78 -0
- package/frontend/components/waitlist/WaitlistDialog.tsx +128 -0
- package/frontend/lib/api.ts +1282 -0
- package/frontend/lib/billing.ts +6 -0
- package/frontend/lib/cookieConsent.ts +113 -0
- package/frontend/lib/format.ts +16 -0
- package/frontend/lib/plans.ts +62 -0
- package/frontend/lib/schemas.ts +108 -0
- package/frontend/lib/seo.ts +376 -0
- package/frontend/lib/setupGuides.ts +630 -0
- package/frontend/lib/storage.ts +30 -0
- package/frontend/next-env.d.ts +6 -0
- package/frontend/next.config.mjs +13 -0
- package/frontend/package-lock.json +14409 -0
- package/frontend/package.json +41 -0
- package/frontend/playwright.config.ts +20 -0
- package/frontend/postcss.config.mjs +8 -0
- package/frontend/public/.gitkeep +0 -0
- package/frontend/public/brand/availsync-logo-board.png +0 -0
- package/frontend/public/brand/availsync-logo-dark.png +0 -0
- package/frontend/public/brand/availsync-mark-dark.png +0 -0
- package/frontend/public/brand/availsync-wordmark-dark.png +0 -0
- package/frontend/public/marketing/hero-agent-coordination.png +0 -0
- package/frontend/tailwind.config.ts +53 -0
- package/frontend/tests/smoke.spec.ts +89 -0
- package/frontend/tsconfig.json +23 -0
- package/jest.config.js +7 -0
- package/nixpacks.toml +11 -0
- package/package.json +53 -0
- package/packages/mcp/LICENSE +21 -0
- package/packages/mcp/README.md +60 -0
- package/packages/mcp/jest.config.cjs +8 -0
- package/packages/mcp/package.json +54 -0
- package/packages/mcp/src/helpers.ts +38 -0
- package/packages/mcp/src/index.test.ts +60 -0
- package/packages/mcp/src/index.ts +387 -0
- package/packages/mcp/tsconfig.json +20 -0
- package/packages/mcp/tsconfig.test.json +12 -0
- package/packages/node/LICENSE +21 -0
- package/packages/node/README.md +120 -0
- package/packages/node/jest.config.cjs +8 -0
- package/packages/node/package.json +46 -0
- package/packages/node/src/index.test.ts +360 -0
- package/packages/node/src/index.ts +402 -0
- package/packages/node/tsconfig.json +20 -0
- package/packages/node/tsconfig.test.json +12 -0
- package/plan.md +923 -0
- package/skills/stripe-best-practices/SKILL.md +42 -0
- package/skills/stripe-best-practices/references/billing.md +36 -0
- package/skills/stripe-best-practices/references/connect.md +48 -0
- package/skills/stripe-best-practices/references/payments.md +79 -0
- package/skills/stripe-best-practices/references/security.md +109 -0
- package/skills/stripe-best-practices/references/treasury.md +16 -0
- package/skills/stripe-projects/SKILL.md +139 -0
- package/skills/upgrade-stripe/SKILL.md +185 -0
- package/skills-lock.json +20 -0
- package/src/core/availability.ts +178 -0
- package/src/core/conflict.ts +209 -0
- package/src/core/work.ts +490 -0
- package/src/db/client.ts +17 -0
- package/src/db/migrations/001_init.sql +88 -0
- package/src/db/migrations/002_stripe.sql +2 -0
- package/src/db/migrations/003_workspace_auth.sql +19 -0
- package/src/db/migrations/004_agent_mcp_status.sql +2 -0
- package/src/db/migrations/005_hold_event_actor.sql +4 -0
- package/src/db/migrations/006_agent_activity.sql +35 -0
- package/src/db/migrations/007_work_coordination.sql +60 -0
- package/src/db/migrations/008_work_claim_leases.sql +20 -0
- package/src/db/migrations/009_billing_subscription_state.sql +23 -0
- package/src/db/migrations/010_agent_api_key_prefix.sql +10 -0
- package/src/db/migrations/011_org_verified_and_work_event_retention.sql +11 -0
- package/src/db/migrations/012_agent_enforcement_mode.sql +12 -0
- package/src/db/migrations/013_support_tickets.sql +21 -0
- package/src/db/migrations/014_paid_plan_waitlist.sql +23 -0
- package/src/db/migrations/015_agent_last_seen.sql +2 -0
- package/src/db/migrations.ts +164 -0
- package/src/db/run-migrations.ts +13 -0
- package/src/index.ts +183 -0
- package/src/lib/activity.ts +137 -0
- package/src/lib/apiKeys.ts +32 -0
- package/src/lib/appInfo.ts +26 -0
- package/src/lib/billingConfig.ts +3 -0
- package/src/lib/env.ts +75 -0
- package/src/lib/logger.ts +8 -0
- package/src/lib/plans.ts +204 -0
- package/src/mcp/server.js +5 -0
- package/src/mcp/server.ts +350 -0
- package/src/middleware/auth.ts +342 -0
- package/src/middleware/requestId.ts +16 -0
- package/src/routes/account.ts +168 -0
- package/src/routes/activity.ts +126 -0
- package/src/routes/admin.ts +514 -0
- package/src/routes/audit.ts +68 -0
- package/src/routes/auth.ts +203 -0
- package/src/routes/availability.ts +325 -0
- package/src/routes/billing.ts +406 -0
- package/src/routes/conflicts.ts +131 -0
- package/src/routes/holds.ts +437 -0
- package/src/routes/mcp.ts +57 -0
- package/src/routes/metrics.ts +39 -0
- package/src/routes/onboarding.ts +273 -0
- package/src/routes/orgs.ts +981 -0
- package/src/routes/preferences.ts +132 -0
- package/src/routes/session.ts +16 -0
- package/src/routes/support.ts +77 -0
- package/src/routes/value.ts +186 -0
- package/src/routes/waitlist.ts +63 -0
- package/src/routes/work.ts +1578 -0
- package/src/server.ts +36 -0
- package/src/types/index.ts +109 -0
- package/tests/integration/activity.route.test.ts +103 -0
- package/tests/integration/admin.route.test.ts +143 -0
- package/tests/integration/agent-keys.route.test.ts +237 -0
- package/tests/integration/availability.route.test.ts +125 -0
- package/tests/integration/billing.route.test.ts +393 -0
- package/tests/integration/conflicts.route.test.ts +131 -0
- package/tests/integration/flows.test.ts +154 -0
- package/tests/integration/helpers.ts +134 -0
- package/tests/integration/holds.route.test.ts +185 -0
- package/tests/integration/metrics.route.test.ts +100 -0
- package/tests/integration/onboarding.verify.route.test.ts +163 -0
- package/tests/integration/preferences.route.test.ts +53 -0
- package/tests/integration/session.route.test.ts +97 -0
- package/tests/integration/system.route.test.ts +92 -0
- package/tests/integration/value.route.test.ts +235 -0
- package/tests/integration/work.route.test.ts +745 -0
- package/tests/setup.ts +4 -0
- package/tests/smoke.sh +62 -0
- package/tests/unit/auth.test.ts +114 -0
- package/tests/unit/availability.test.ts +149 -0
- package/tests/unit/conflict.test.ts +118 -0
- package/tests/unit/env.test.ts +69 -0
- package/tests/unit/migrations.test.ts +135 -0
- package/tests/unit/request-id.test.ts +37 -0
- package/tmp-mobile-agents.png +0 -0
- package/tmp-next-mobile.err.log +10 -0
- package/tmp-next-mobile.log +5 -0
- package/tsconfig.json +16 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# Availsync Production Checklist
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-05-11
|
|
4
|
+
**Verified by:** Claude Code
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Build Checks
|
|
9
|
+
|
|
10
|
+
### TypeScript (backend)
|
|
11
|
+
```
|
|
12
|
+
npm run build → tsc
|
|
13
|
+
```
|
|
14
|
+
Result: Zero errors and compiled output in `dist/`
|
|
15
|
+
Status: PASS
|
|
16
|
+
|
|
17
|
+
### Tests (backend)
|
|
18
|
+
```
|
|
19
|
+
npm test -- --runTestsByPath tests/unit/auth.test.ts tests/unit/conflict.test.ts tests/unit/availability.test.ts
|
|
20
|
+
```
|
|
21
|
+
Result: 3 suites, 14 tests, all passing
|
|
22
|
+
Status: PASS
|
|
23
|
+
|
|
24
|
+
Verified unit suites:
|
|
25
|
+
- auth.test.ts (3 tests)
|
|
26
|
+
- conflict.test.ts (5 tests)
|
|
27
|
+
- availability.test.ts (6 tests)
|
|
28
|
+
|
|
29
|
+
Integration suites require a running PostgreSQL database via `TEST_DATABASE_URL`.
|
|
30
|
+
|
|
31
|
+
### Frontend build
|
|
32
|
+
```
|
|
33
|
+
npx next build
|
|
34
|
+
```
|
|
35
|
+
Result: Compiled successfully, 17 routes generated
|
|
36
|
+
Status: PASS
|
|
37
|
+
|
|
38
|
+
Bundle sizes (all under 200KB):
|
|
39
|
+
- Shared JS: 102 kB
|
|
40
|
+
- Largest page (agents): 125 kB first load
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Backend Hardening
|
|
45
|
+
|
|
46
|
+
### Environment validation
|
|
47
|
+
- validateEnv() runs before app.listen()
|
|
48
|
+
- Production: missing vars → process.exit(1)
|
|
49
|
+
- Development: missing vars → warning log
|
|
50
|
+
Status: IMPLEMENTED
|
|
51
|
+
|
|
52
|
+
### Helmet security headers
|
|
53
|
+
- helmet() middleware active (CSP disabled for API)
|
|
54
|
+
Status: IMPLEMENTED
|
|
55
|
+
|
|
56
|
+
### CORS
|
|
57
|
+
- cors() package with configurable CORS_ORIGINS
|
|
58
|
+
- Credentials support enabled
|
|
59
|
+
Status: IMPLEMENTED
|
|
60
|
+
|
|
61
|
+
### Rate limiting
|
|
62
|
+
- 100 req/min per API key on all /v1/* routes
|
|
63
|
+
- 10 req/min on POST /v1/orgs
|
|
64
|
+
Status: IMPLEMENTED
|
|
65
|
+
|
|
66
|
+
### Structured logging
|
|
67
|
+
- src/lib/logger.ts — JSON structured logging
|
|
68
|
+
- All route handlers use log.info/error/warn
|
|
69
|
+
Status: IMPLEMENTED
|
|
70
|
+
|
|
71
|
+
### Global error handler
|
|
72
|
+
- Last middleware in stack catches unhandled errors
|
|
73
|
+
- Development: includes stack trace
|
|
74
|
+
- Production: generic error message
|
|
75
|
+
Status: IMPLEMENTED
|
|
76
|
+
|
|
77
|
+
### Auto-migrations on startup
|
|
78
|
+
- runMigrations() tracks files in `schema_migrations`
|
|
79
|
+
- Runs only pending `.sql` files before app.listen()
|
|
80
|
+
- Uses a Postgres advisory lock to prevent parallel migrations
|
|
81
|
+
- Failure logs the exact migration file and records failed status
|
|
82
|
+
Status: IMPLEMENTED
|
|
83
|
+
|
|
84
|
+
### Input validation
|
|
85
|
+
- All routes use Zod schemas for request validation
|
|
86
|
+
- No raw req.body access without parsing
|
|
87
|
+
Status: VERIFIED
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Routes
|
|
92
|
+
|
|
93
|
+
### Core API
|
|
94
|
+
- POST /v1/orgs — WORKING
|
|
95
|
+
- POST /v1/orgs/:id/agents — WORKING (enforces agent_limit, returns 402)
|
|
96
|
+
- GET /v1/orgs/:id/agents — WORKING
|
|
97
|
+
- GET /v1/availability — WORKING (slots with confidence scores)
|
|
98
|
+
- POST /v1/availability-windows — WORKING
|
|
99
|
+
- GET /v1/availability-windows — WORKING
|
|
100
|
+
- POST /v1/holds — WORKING (conflict resolution in single transaction)
|
|
101
|
+
- DELETE /v1/holds/:id — WORKING
|
|
102
|
+
- GET /v1/holds — WORKING
|
|
103
|
+
- GET /v1/preferences/:agent_id — WORKING
|
|
104
|
+
- PUT /v1/preferences/:agent_id — WORKING
|
|
105
|
+
- GET /v1/session — WORKING
|
|
106
|
+
- GET /v1/audit — WORKING (pagination, agent/event filters)
|
|
107
|
+
- GET /health — WORKING
|
|
108
|
+
|
|
109
|
+
### Billing
|
|
110
|
+
- POST /v1/billing/checkout — WORKING (auth required, creates Stripe Customer + Checkout Session)
|
|
111
|
+
- POST /v1/billing/webhook — WORKING (raw body, signature verification, handles checkout.session.completed, customer.subscription.updated, customer.subscription.deleted, invoice.payment_failed)
|
|
112
|
+
- GET /v1/billing/portal — WORKING (creates Stripe Customer Portal session)
|
|
113
|
+
- GET /v1/billing/status — WORKING (plan, agents_used, agent_limit, renewal_date)
|
|
114
|
+
- GET /v1/billing/subscription/:org_id — WORKING (legacy)
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Database
|
|
119
|
+
|
|
120
|
+
### Migrations
|
|
121
|
+
- 001_init.sql — 7 tables with constraints and indices
|
|
122
|
+
- 002_stripe.sql — stripe_customer_id and stripe_subscription_id columns
|
|
123
|
+
Status: VERIFIED
|
|
124
|
+
|
|
125
|
+
### Agent limits (per spec)
|
|
126
|
+
- free: 3
|
|
127
|
+
- individual: 15
|
|
128
|
+
- team: 9999
|
|
129
|
+
Status: VERIFIED
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Frontend
|
|
134
|
+
|
|
135
|
+
### Design system
|
|
136
|
+
- Dark theme: bg #0F0F0F, surface #161616, accent #5E6AD2
|
|
137
|
+
- Geist Sans + Geist Mono fonts
|
|
138
|
+
- Linear-style: monochrome, dense, no gradients, no shadows
|
|
139
|
+
Status: IMPLEMENTED
|
|
140
|
+
|
|
141
|
+
### Dashboard pages
|
|
142
|
+
- Overview: metric blocks + recent activity table
|
|
143
|
+
- Agents: table view, new agent slide-over, API key display
|
|
144
|
+
- Availability: windows list, slot checker, preferences panel
|
|
145
|
+
- Audit Log: filterable table with expand-to-JSON
|
|
146
|
+
- Settings: Account, Billing (upgrade/portal), API tabs
|
|
147
|
+
Status: IMPLEMENTED
|
|
148
|
+
|
|
149
|
+
### Components
|
|
150
|
+
- Badge (5 variants)
|
|
151
|
+
- KeyDisplay (masked, reveal, copy)
|
|
152
|
+
- EmptyState (icon + message + CTA)
|
|
153
|
+
- ConfirmDialog (optional text confirmation)
|
|
154
|
+
- Toast (success/error/info, auto-dismiss 4s)
|
|
155
|
+
- Skeleton (shimmer loading states)
|
|
156
|
+
Status: IMPLEMENTED
|
|
157
|
+
|
|
158
|
+
### Auth flow
|
|
159
|
+
- Signup/onboarding → creates workspace user, org, first agent, and one-time agent API key
|
|
160
|
+
- Login → email/password workspace session with httpOnly cookie
|
|
161
|
+
- Agent API keys are runtime credentials, not dashboard login credentials
|
|
162
|
+
Status: IMPLEMENTED
|
|
163
|
+
|
|
164
|
+
### Landing page
|
|
165
|
+
- CTA buttons → /signup (which redirects to /app/onboarding)
|
|
166
|
+
- Pricing buttons → /checkout?plan=...
|
|
167
|
+
- Docs → /docs, /docs/quickstart
|
|
168
|
+
Status: VERIFIED
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Coolify Git Deploy
|
|
173
|
+
|
|
174
|
+
### Single app
|
|
175
|
+
- Source directory: `/`
|
|
176
|
+
- Build pack: Nixpacks
|
|
177
|
+
- Build/start settings: `nixpacks.toml`
|
|
178
|
+
- Runtime: `node dist/server.js`
|
|
179
|
+
- Serves Next.js frontend and Express API from one process
|
|
180
|
+
- Health check: `GET /health`
|
|
181
|
+
Status: CONFIGURED
|
|
182
|
+
|
|
183
|
+
### Required runtime env
|
|
184
|
+
Set these as runtime variables in Coolify. Do not mark `NODE_ENV=production` as buildtime unless the build still installs dev dependencies.
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
DATABASE_URL=
|
|
188
|
+
SESSION_SECRET=
|
|
189
|
+
API_KEY_SALT_ROUNDS=10
|
|
190
|
+
APP_URL=https://availsync.dev
|
|
191
|
+
CORS_ORIGINS=https://availsync.dev
|
|
192
|
+
STRIPE_SECRET_KEY=
|
|
193
|
+
STRIPE_WEBHOOK_SECRET=
|
|
194
|
+
STRIPE_PRICE_INDIVIDUAL=
|
|
195
|
+
STRIPE_PRICE_TEAM=
|
|
196
|
+
ADMIN_EMAILS=you@example.com
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
`PORT` is optional; Availsync defaults to `3000` if the platform does not set it.
|
|
200
|
+
|
|
201
|
+
### Diagnostics
|
|
202
|
+
- Public health check: `GET /health`
|
|
203
|
+
- Admin diagnostics: `GET /v1/admin/system`
|
|
204
|
+
- Admin UI shows runtime Node version, commit, migration state, Stripe readiness, and missing env names without exposing values.
|
|
205
|
+
Status: IMPLEMENTED
|
|
206
|
+
|
|
207
|
+
### Integration test database
|
|
208
|
+
Use `TEST_DATABASE_URL` for local/CI integration tests. If it is absent, tests fall back to `DATABASE_URL`.
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
$env:NODE_ENV='test'
|
|
212
|
+
$env:TEST_DATABASE_URL='postgres://user:password@localhost:5432/availsync_test'
|
|
213
|
+
npm test -- --runTestsByPath tests\integration\billing.route.test.ts
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## MCP Server
|
|
219
|
+
- Tools: check_availability, book_slot, release_slot
|
|
220
|
+
- Transport: stdio
|
|
221
|
+
- Config: AVAILSYNC_API_URL + AVAILSYNC_API_KEY env vars
|
|
222
|
+
Status: VERIFIED
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## Acceptance Criteria Summary
|
|
227
|
+
|
|
228
|
+
- [x] `npm run build` exits 0 with zero TypeScript errors
|
|
229
|
+
- [x] Backend unit tests exit 0 locally (14 tests green across 3 suites)
|
|
230
|
+
- [ ] Flow C integration test passes in a live test database environment
|
|
231
|
+
- [x] Stripe checkout route implemented with auth, Stripe Customer creation
|
|
232
|
+
- [x] Stripe webhook handles checkout.session.completed, subscription updates/deletes, payment failures
|
|
233
|
+
- [x] Dashboard: dark Linear-style UI with Geist font
|
|
234
|
+
- [x] API keys displayed safely (once on creation, never stored in frontend)
|
|
235
|
+
- [x] Rate limiting active on all /v1/* routes
|
|
236
|
+
- [x] Helmet and CORS configured
|
|
237
|
+
- [x] Auto-migrations run on startup
|
|
238
|
+
- [x] MCP server tools return real data
|
|
239
|
+
- [x] PRODUCTION_CHECKLIST.md written
|
|
240
|
+
|
|
241
|
+
### Requires live environment to verify:
|
|
242
|
+
- [ ] Full integration test suite (needs running PostgreSQL via `TEST_DATABASE_URL`)
|
|
243
|
+
- [ ] `bash tests/smoke.sh` (needs running server + DB)
|
|
244
|
+
- [ ] Stripe webhook end-to-end (needs Stripe CLI)
|
|
245
|
+
- [ ] Full Flow A (signup → booking) end-to-end
|
|
246
|
+
- [ ] Bundle size gzip check (builds show ~125kB first load, well under 200kB)
|
package/README.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Availsync
|
|
2
|
+
|
|
3
|
+
Availsync is a coordination layer for AI and coding agents. Every integrated agent checks in before it edits a repo, runs a deploy, touches a project, or books downstream work.
|
|
4
|
+
|
|
5
|
+
The core flow is small:
|
|
6
|
+
|
|
7
|
+
1. An agent asks for a protected resource such as `repo:owner/repo`.
|
|
8
|
+
2. Availsync checks active claims, priority rules, and leases.
|
|
9
|
+
3. The agent gets `proceed` or `skip_run`.
|
|
10
|
+
4. Long-running work extends the lease and finishes it when done.
|
|
11
|
+
|
|
12
|
+
## Alpha status
|
|
13
|
+
|
|
14
|
+
Availsync is in alpha for early pilots. Paid tiers are waitlist-only. The public Node SDK and MCP package should be installed with explicit alpha tags:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @availsync/node@alpha
|
|
18
|
+
npx -y @availsync/mcp@alpha --help
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Quick links
|
|
22
|
+
|
|
23
|
+
- Product: https://availsync.dev
|
|
24
|
+
- Pilot guide: https://availsync.dev/docs/pilot
|
|
25
|
+
- Node SDK docs: https://availsync.dev/docs/sdk/node
|
|
26
|
+
- MCP and REST quickstart: https://availsync.dev/docs/quickstart
|
|
27
|
+
- API reference: https://availsync.dev/docs/api
|
|
28
|
+
- Reliability notes: https://availsync.dev/docs/reliability
|
|
29
|
+
- Security notes: https://availsync.dev/security
|
|
30
|
+
|
|
31
|
+
## Reliability limits
|
|
32
|
+
|
|
33
|
+
Availsync coordinates agents that call it before acting. It does not automatically protect non-integrated agents, and it does not yet infer dependencies between different project keys. Use repo-level resources for maximum safety when stale context or shared files are risky.
|
|
34
|
+
|
|
35
|
+
In enforce mode, production-like automations should fail closed if Availsync is unreachable. In observe mode, pilots can fail open and use the dashboard to measure what would have been blocked.
|
|
36
|
+
|
|
37
|
+
## Development
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install
|
|
41
|
+
npm run build
|
|
42
|
+
npm test
|
|
43
|
+
npm run build:sdk
|
|
44
|
+
npm run test:sdk
|
|
45
|
+
npm run build:mcp
|
|
46
|
+
npm run test:mcp
|
|
47
|
+
```
|
package/ROADMAP.md
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Availsync Roadmap
|
|
2
|
+
|
|
3
|
+
Availsync is being built as a pre-flight coordination layer for AI and coding agents. The primary product direction is repo/resource guardrails for agents that edit code, run automations, deploy, migrate, or schedule work. Scheduling availability remains a supported use case, but not the main narrative.
|
|
4
|
+
|
|
5
|
+
This roadmap separates near-term pilot readiness from later platform and enterprise work.
|
|
6
|
+
|
|
7
|
+
## Now: First Pilot Readiness
|
|
8
|
+
|
|
9
|
+
These are the highest-leverage changes before serious outbound or a first production pilot.
|
|
10
|
+
|
|
11
|
+
1. **Node SDK**
|
|
12
|
+
- Status: published as `@availsync/node@alpha` (`0.1.0-alpha.1`) for pilot integrations.
|
|
13
|
+
- Ship `@availsync/node` with a tiny API for `run/start`, `run/extend`, and `run/finish`.
|
|
14
|
+
- Make the happy path feel like a guardrail, not a set of curl commands.
|
|
15
|
+
- Include examples for Codex, Claude/Cursor, OpenClaw, cron jobs, and GitHub Actions.
|
|
16
|
+
|
|
17
|
+
2. **Shadow Mode**
|
|
18
|
+
- Status: implemented for work-run automations and the Node SDK.
|
|
19
|
+
- Add observe-only behavior so teams can see what Availsync would have blocked without stopping their agents.
|
|
20
|
+
- Surface weekly “would have prevented” value in the dashboard.
|
|
21
|
+
- Keep enforcement explicit so pilots can move from observe to enforce safely.
|
|
22
|
+
|
|
23
|
+
3. **Data Retention**
|
|
24
|
+
- Add plan-based retention for activity, work events, and hold events.
|
|
25
|
+
- Default direction: Free short retention, paid plans longer retention.
|
|
26
|
+
- Keep audit/value views fast as usage grows.
|
|
27
|
+
|
|
28
|
+
4. **API Version Policy**
|
|
29
|
+
- Document what `/v1` means, what counts as breaking, and how deprecation will work.
|
|
30
|
+
- Add this before external users integrate deeply.
|
|
31
|
+
|
|
32
|
+
5. **Positioning Docs**
|
|
33
|
+
- Clarify “Availsync vs Redis lock”, “Availsync vs Temporal/Inngest”, and “Availsync vs branch protection”.
|
|
34
|
+
- Explain the default recommendation: use repo-level locks first, project-level locks only for independent streams.
|
|
35
|
+
- Keep SDK docs focused on `@alpha` until the first pilot confirms the API shape.
|
|
36
|
+
|
|
37
|
+
## Next: Coordination Layer
|
|
38
|
+
|
|
39
|
+
These make Availsync feel more like infrastructure instead of a lock API.
|
|
40
|
+
|
|
41
|
+
1. **Webhooks**
|
|
42
|
+
- Deliver events such as `work_claim.blocked`, `work_claim.released`, `work_claim.expired`, and `agent.error`.
|
|
43
|
+
- Add webhook signing, retry behavior, and delivery logs.
|
|
44
|
+
- Let customers resume or retrigger automations without polling.
|
|
45
|
+
|
|
46
|
+
2. **Python SDK**
|
|
47
|
+
- Mirror the Node SDK for Python-heavy agent and automation stacks.
|
|
48
|
+
- Keep the API shape consistent across languages.
|
|
49
|
+
|
|
50
|
+
3. **Value Digest**
|
|
51
|
+
- Show weekly conflicts prevented, blocked runs, quiet agents, and recent errors in the dashboard.
|
|
52
|
+
- Email digest can come later; dashboard-first is enough for v1.
|
|
53
|
+
|
|
54
|
+
4. **Inactive-Agent Alerts**
|
|
55
|
+
- Flag agents with no real activity after a configured threshold.
|
|
56
|
+
- Start in-dashboard before adding email or webhook alerts.
|
|
57
|
+
|
|
58
|
+
5. **Delivery and Replay Tools**
|
|
59
|
+
- Add delivery history for webhooks and important outbound events.
|
|
60
|
+
- Support manual replay for failed webhook deliveries.
|
|
61
|
+
|
|
62
|
+
## Later: Team and Enterprise
|
|
63
|
+
|
|
64
|
+
These matter once teams and larger customers start using Availsync collaboratively.
|
|
65
|
+
|
|
66
|
+
1. **Multi-User Workspaces**
|
|
67
|
+
- Add workspace users, invites, and roles: admin, member, viewer.
|
|
68
|
+
- Keep existing single-owner workspaces compatible.
|
|
69
|
+
|
|
70
|
+
2. **Scoped Agent Keys**
|
|
71
|
+
- Add read/write scopes for agent keys where useful.
|
|
72
|
+
- Keep the default simple for v1, but support least-privilege keys for CI and enterprise customers.
|
|
73
|
+
|
|
74
|
+
3. **Operational Metrics**
|
|
75
|
+
- Add Prometheus-style `/metrics` for request counts, latency, claim-block rate, and database pool state.
|
|
76
|
+
- Keep `/v1/metrics/overview` as the product UI endpoint.
|
|
77
|
+
|
|
78
|
+
4. **Status Page**
|
|
79
|
+
- Add a public status page or hosted status provider once Availsync is used as critical infrastructure.
|
|
80
|
+
|
|
81
|
+
5. **Enterprise Controls**
|
|
82
|
+
- SSO, audit exports, support notes, admin plan overrides, and stronger governance workflows.
|
|
83
|
+
- Do not start here before the first pilots prove usage and willingness to pay.
|
|
84
|
+
|
|
85
|
+
## Not Planned for Immediate V1
|
|
86
|
+
|
|
87
|
+
- Calendar provider sync.
|
|
88
|
+
- Multi-region deployment.
|
|
89
|
+
- SOC 2 or ISO certification.
|
|
90
|
+
- Complex dependency inference between different resources.
|
|
91
|
+
- Dedicated Codex plugin before the SDK and REST/MCP paths are stable.
|