@dotdo/do 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/README.md +400 -0
- package/dist/ai/embeddings.d.ts +129 -0
- package/dist/ai/embeddings.d.ts.map +1 -0
- package/dist/ai/embeddings.js +217 -0
- package/dist/ai/embeddings.js.map +1 -0
- package/dist/ai/gateway.d.ts +139 -0
- package/dist/ai/gateway.d.ts.map +1 -0
- package/dist/ai/gateway.js +179 -0
- package/dist/ai/gateway.js.map +1 -0
- package/dist/ai/image.d.ts +140 -0
- package/dist/ai/image.d.ts.map +1 -0
- package/dist/ai/image.js +199 -0
- package/dist/ai/image.js.map +1 -0
- package/dist/ai/index.d.ts +98 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +223 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/models.d.ts +81 -0
- package/dist/ai/models.d.ts.map +1 -0
- package/dist/ai/models.js +537 -0
- package/dist/ai/models.js.map +1 -0
- package/dist/ai/text.d.ts +176 -0
- package/dist/ai/text.d.ts.map +1 -0
- package/dist/ai/text.js +253 -0
- package/dist/ai/text.js.map +1 -0
- package/dist/ai/voice/agents.d.ts +224 -0
- package/dist/ai/voice/agents.d.ts.map +1 -0
- package/dist/ai/voice/agents.js +375 -0
- package/dist/ai/voice/agents.js.map +1 -0
- package/dist/ai/voice/campaigns.d.ts +307 -0
- package/dist/ai/voice/campaigns.d.ts.map +1 -0
- package/dist/ai/voice/campaigns.js +739 -0
- package/dist/ai/voice/campaigns.js.map +1 -0
- package/dist/ai/voice/index.d.ts +21 -0
- package/dist/ai/voice/index.d.ts.map +1 -0
- package/dist/ai/voice/index.js +42 -0
- package/dist/ai/voice/index.js.map +1 -0
- package/dist/ai/voice/providers.d.ts +283 -0
- package/dist/ai/voice/providers.d.ts.map +1 -0
- package/dist/ai/voice/providers.js +286 -0
- package/dist/ai/voice/providers.js.map +1 -0
- package/dist/ai/voice/sessions.d.ts +294 -0
- package/dist/ai/voice/sessions.d.ts.map +1 -0
- package/dist/ai/voice/sessions.js +531 -0
- package/dist/ai/voice/sessions.js.map +1 -0
- package/dist/ai/voice/tools.d.ts +242 -0
- package/dist/ai/voice/tools.d.ts.map +1 -0
- package/dist/ai/voice/tools.js +370 -0
- package/dist/ai/voice/tools.js.map +1 -0
- package/dist/ai/voice/tts.d.ts +173 -0
- package/dist/ai/voice/tts.d.ts.map +1 -0
- package/dist/ai/voice/tts.js +252 -0
- package/dist/ai/voice/tts.js.map +1 -0
- package/dist/ai/voice/webrtc.d.ts +228 -0
- package/dist/ai/voice/webrtc.d.ts.map +1 -0
- package/dist/ai/voice/webrtc.js +372 -0
- package/dist/ai/voice/webrtc.js.map +1 -0
- package/dist/api/index.d.ts +103 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +191 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/mcp/handlers.d.ts +25 -0
- package/dist/api/mcp/handlers.d.ts.map +1 -0
- package/dist/api/mcp/handlers.js +422 -0
- package/dist/api/mcp/handlers.js.map +1 -0
- package/dist/api/mcp/index.d.ts +113 -0
- package/dist/api/mcp/index.d.ts.map +1 -0
- package/dist/api/mcp/index.js +141 -0
- package/dist/api/mcp/index.js.map +1 -0
- package/dist/api/middleware/auth.d.ts +65 -0
- package/dist/api/middleware/auth.d.ts.map +1 -0
- package/dist/api/middleware/auth.js +271 -0
- package/dist/api/middleware/auth.js.map +1 -0
- package/dist/api/middleware/cors.d.ts +62 -0
- package/dist/api/middleware/cors.d.ts.map +1 -0
- package/dist/api/middleware/cors.js +225 -0
- package/dist/api/middleware/cors.js.map +1 -0
- package/dist/api/middleware/index.d.ts +60 -0
- package/dist/api/middleware/index.d.ts.map +1 -0
- package/dist/api/middleware/index.js +175 -0
- package/dist/api/middleware/index.js.map +1 -0
- package/dist/api/middleware/rateLimit.d.ts +84 -0
- package/dist/api/middleware/rateLimit.d.ts.map +1 -0
- package/dist/api/middleware/rateLimit.js +321 -0
- package/dist/api/middleware/rateLimit.js.map +1 -0
- package/dist/api/routes/ai.d.ts +17 -0
- package/dist/api/routes/ai.d.ts.map +1 -0
- package/dist/api/routes/ai.js +430 -0
- package/dist/api/routes/ai.js.map +1 -0
- package/dist/api/routes/do.d.ts +17 -0
- package/dist/api/routes/do.d.ts.map +1 -0
- package/dist/api/routes/do.js +458 -0
- package/dist/api/routes/do.js.map +1 -0
- package/dist/api/routes/functions.d.ts +111 -0
- package/dist/api/routes/functions.d.ts.map +1 -0
- package/dist/api/routes/functions.js +548 -0
- package/dist/api/routes/functions.js.map +1 -0
- package/dist/api/routes/health.d.ts +16 -0
- package/dist/api/routes/health.d.ts.map +1 -0
- package/dist/api/routes/health.js +163 -0
- package/dist/api/routes/health.js.map +1 -0
- package/dist/api/routes/index.d.ts +41 -0
- package/dist/api/routes/index.d.ts.map +1 -0
- package/dist/api/routes/index.js +275 -0
- package/dist/api/routes/index.js.map +1 -0
- package/dist/api/routes/nouns.d.ts +26 -0
- package/dist/api/routes/nouns.d.ts.map +1 -0
- package/dist/api/routes/nouns.js +456 -0
- package/dist/api/routes/nouns.js.map +1 -0
- package/dist/api/routes/orgs.d.ts +17 -0
- package/dist/api/routes/orgs.d.ts.map +1 -0
- package/dist/api/routes/orgs.js +560 -0
- package/dist/api/routes/orgs.js.map +1 -0
- package/dist/api/routes/relationships.d.ts +30 -0
- package/dist/api/routes/relationships.d.ts.map +1 -0
- package/dist/api/routes/relationships.js +360 -0
- package/dist/api/routes/relationships.js.map +1 -0
- package/dist/api/routes/roles.d.ts +17 -0
- package/dist/api/routes/roles.d.ts.map +1 -0
- package/dist/api/routes/roles.js +721 -0
- package/dist/api/routes/roles.js.map +1 -0
- package/dist/api/routes/things.d.ts +27 -0
- package/dist/api/routes/things.d.ts.map +1 -0
- package/dist/api/routes/things.js +568 -0
- package/dist/api/routes/things.js.map +1 -0
- package/dist/api/routes/users.d.ts +17 -0
- package/dist/api/routes/users.d.ts.map +1 -0
- package/dist/api/routes/users.js +401 -0
- package/dist/api/routes/users.js.map +1 -0
- package/dist/api/routes/verbs.d.ts +31 -0
- package/dist/api/routes/verbs.d.ts.map +1 -0
- package/dist/api/routes/verbs.js +505 -0
- package/dist/api/routes/verbs.js.map +1 -0
- package/dist/api/routes/workflows.d.ts +44 -0
- package/dist/api/routes/workflows.d.ts.map +1 -0
- package/dist/api/routes/workflows.js +521 -0
- package/dist/api/routes/workflows.js.map +1 -0
- package/dist/api/types.d.ts +370 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +11 -0
- package/dist/api/types.js.map +1 -0
- package/dist/db/cdc/events.d.ts +201 -0
- package/dist/db/cdc/events.d.ts.map +1 -0
- package/dist/db/cdc/events.js +271 -0
- package/dist/db/cdc/events.js.map +1 -0
- package/dist/db/cdc/index.d.ts +13 -0
- package/dist/db/cdc/index.d.ts.map +1 -0
- package/dist/db/cdc/index.js +16 -0
- package/dist/db/cdc/index.js.map +1 -0
- package/dist/db/cdc/replay.d.ts +388 -0
- package/dist/db/cdc/replay.d.ts.map +1 -0
- package/dist/db/cdc/replay.js +469 -0
- package/dist/db/cdc/replay.js.map +1 -0
- package/dist/db/cdc/storage.d.ts +567 -0
- package/dist/db/cdc/storage.d.ts.map +1 -0
- package/dist/db/cdc/storage.js +856 -0
- package/dist/db/cdc/storage.js.map +1 -0
- package/dist/db/cdc/streaming.d.ts +459 -0
- package/dist/db/cdc/streaming.d.ts.map +1 -0
- package/dist/db/cdc/streaming.js +636 -0
- package/dist/db/cdc/streaming.js.map +1 -0
- package/dist/db/collections/actions.d.ts +440 -0
- package/dist/db/collections/actions.d.ts.map +1 -0
- package/dist/db/collections/actions.js +631 -0
- package/dist/db/collections/actions.js.map +1 -0
- package/dist/db/collections/base.d.ts +342 -0
- package/dist/db/collections/base.d.ts.map +1 -0
- package/dist/db/collections/base.js +510 -0
- package/dist/db/collections/base.js.map +1 -0
- package/dist/db/collections/index.d.ts +50 -0
- package/dist/db/collections/index.d.ts.map +1 -0
- package/dist/db/collections/index.js +48 -0
- package/dist/db/collections/index.js.map +1 -0
- package/dist/db/collections/nouns.d.ts +260 -0
- package/dist/db/collections/nouns.d.ts.map +1 -0
- package/dist/db/collections/nouns.js +273 -0
- package/dist/db/collections/nouns.js.map +1 -0
- package/dist/db/collections/relationships.d.ts +484 -0
- package/dist/db/collections/relationships.d.ts.map +1 -0
- package/dist/db/collections/relationships.js +815 -0
- package/dist/db/collections/relationships.js.map +1 -0
- package/dist/db/collections/things.d.ts +439 -0
- package/dist/db/collections/things.d.ts.map +1 -0
- package/dist/db/collections/things.js +603 -0
- package/dist/db/collections/things.js.map +1 -0
- package/dist/db/collections/verbs.d.ts +308 -0
- package/dist/db/collections/verbs.d.ts.map +1 -0
- package/dist/db/collections/verbs.js +480 -0
- package/dist/db/collections/verbs.js.map +1 -0
- package/dist/db/index.d.ts +14 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +23 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/storage/cold.d.ts +313 -0
- package/dist/db/storage/cold.d.ts.map +1 -0
- package/dist/db/storage/cold.js +319 -0
- package/dist/db/storage/cold.js.map +1 -0
- package/dist/db/storage/hot.d.ts +340 -0
- package/dist/db/storage/hot.d.ts.map +1 -0
- package/dist/db/storage/hot.js +333 -0
- package/dist/db/storage/hot.js.map +1 -0
- package/dist/db/storage/index.d.ts +242 -0
- package/dist/db/storage/index.d.ts.map +1 -0
- package/dist/db/storage/index.js +109 -0
- package/dist/db/storage/index.js.map +1 -0
- package/dist/db/storage/snapshots.d.ts +342 -0
- package/dist/db/storage/snapshots.d.ts.map +1 -0
- package/dist/db/storage/snapshots.js +298 -0
- package/dist/db/storage/snapshots.js.map +1 -0
- package/dist/db/storage/vortex.d.ts +324 -0
- package/dist/db/storage/vortex.d.ts.map +1 -0
- package/dist/db/storage/vortex.js +365 -0
- package/dist/db/storage/vortex.js.map +1 -0
- package/dist/db/storage/warm.d.ts +306 -0
- package/dist/db/storage/warm.d.ts.map +1 -0
- package/dist/db/storage/warm.js +339 -0
- package/dist/db/storage/warm.js.map +1 -0
- package/dist/do/DigitalObject.d.ts +595 -0
- package/dist/do/DigitalObject.d.ts.map +1 -0
- package/dist/do/DigitalObject.js +971 -0
- package/dist/do/DigitalObject.js.map +1 -0
- package/dist/do/business/financial/accounting.d.ts +436 -0
- package/dist/do/business/financial/accounting.d.ts.map +1 -0
- package/dist/do/business/financial/accounting.js +476 -0
- package/dist/do/business/financial/accounting.js.map +1 -0
- package/dist/do/business/financial/index.d.ts +15 -0
- package/dist/do/business/financial/index.d.ts.map +1 -0
- package/dist/do/business/financial/index.js +20 -0
- package/dist/do/business/financial/index.js.map +1 -0
- package/dist/do/business/financial/metrics.d.ts +370 -0
- package/dist/do/business/financial/metrics.d.ts.map +1 -0
- package/dist/do/business/financial/metrics.js +376 -0
- package/dist/do/business/financial/metrics.js.map +1 -0
- package/dist/do/business/financial/payments.d.ts +397 -0
- package/dist/do/business/financial/payments.d.ts.map +1 -0
- package/dist/do/business/financial/payments.js +395 -0
- package/dist/do/business/financial/payments.js.map +1 -0
- package/dist/do/business/financial/reports.d.ts +284 -0
- package/dist/do/business/financial/reports.d.ts.map +1 -0
- package/dist/do/business/financial/reports.js +347 -0
- package/dist/do/business/financial/reports.js.map +1 -0
- package/dist/do/business/financial/stripe.d.ts +254 -0
- package/dist/do/business/financial/stripe.d.ts.map +1 -0
- package/dist/do/business/financial/stripe.js +261 -0
- package/dist/do/business/financial/stripe.js.map +1 -0
- package/dist/do/business/financial/subscriptions.d.ts +402 -0
- package/dist/do/business/financial/subscriptions.d.ts.map +1 -0
- package/dist/do/business/financial/subscriptions.js +349 -0
- package/dist/do/business/financial/subscriptions.js.map +1 -0
- package/dist/do/business/index.d.ts +9 -0
- package/dist/do/business/index.d.ts.map +1 -0
- package/dist/do/business/index.js +10 -0
- package/dist/do/business/index.js.map +1 -0
- package/dist/do/colo/followers.d.ts +194 -0
- package/dist/do/colo/followers.d.ts.map +1 -0
- package/dist/do/colo/followers.js +224 -0
- package/dist/do/colo/followers.js.map +1 -0
- package/dist/do/colo/fork.d.ts +103 -0
- package/dist/do/colo/fork.d.ts.map +1 -0
- package/dist/do/colo/fork.js +143 -0
- package/dist/do/colo/fork.js.map +1 -0
- package/dist/do/colo/index.d.ts +181 -0
- package/dist/do/colo/index.d.ts.map +1 -0
- package/dist/do/colo/index.js +145 -0
- package/dist/do/colo/index.js.map +1 -0
- package/dist/do/colo/info.d.ts +106 -0
- package/dist/do/colo/info.d.ts.map +1 -0
- package/dist/do/colo/info.js +196 -0
- package/dist/do/colo/info.js.map +1 -0
- package/dist/do/colo/migrate.d.ts +161 -0
- package/dist/do/colo/migrate.d.ts.map +1 -0
- package/dist/do/colo/migrate.js +190 -0
- package/dist/do/colo/migrate.js.map +1 -0
- package/dist/do/colo/routing.d.ts +182 -0
- package/dist/do/colo/routing.d.ts.map +1 -0
- package/dist/do/colo/routing.js +254 -0
- package/dist/do/colo/routing.js.map +1 -0
- package/dist/do/domains/dns.d.ts +269 -0
- package/dist/do/domains/dns.d.ts.map +1 -0
- package/dist/do/domains/dns.js +215 -0
- package/dist/do/domains/dns.js.map +1 -0
- package/dist/do/domains/index.d.ts +40 -0
- package/dist/do/domains/index.d.ts.map +1 -0
- package/dist/do/domains/index.js +61 -0
- package/dist/do/domains/index.js.map +1 -0
- package/dist/do/domains/routing.d.ts +263 -0
- package/dist/do/domains/routing.d.ts.map +1 -0
- package/dist/do/domains/routing.js +362 -0
- package/dist/do/domains/routing.js.map +1 -0
- package/dist/do/domains/ssl.d.ts +217 -0
- package/dist/do/domains/ssl.d.ts.map +1 -0
- package/dist/do/domains/ssl.js +231 -0
- package/dist/do/domains/ssl.js.map +1 -0
- package/dist/do/domains/subdomains.d.ts +207 -0
- package/dist/do/domains/subdomains.d.ts.map +1 -0
- package/dist/do/domains/subdomains.js +223 -0
- package/dist/do/domains/subdomains.js.map +1 -0
- package/dist/do/domains/tlds.d.ts +175 -0
- package/dist/do/domains/tlds.d.ts.map +1 -0
- package/dist/do/domains/tlds.js +188 -0
- package/dist/do/domains/tlds.js.map +1 -0
- package/dist/do/domains/validation.d.ts +164 -0
- package/dist/do/domains/validation.d.ts.map +1 -0
- package/dist/do/domains/validation.js +290 -0
- package/dist/do/domains/validation.js.map +1 -0
- package/dist/do/hibernation.d.ts +385 -0
- package/dist/do/hibernation.d.ts.map +1 -0
- package/dist/do/hibernation.js +518 -0
- package/dist/do/hibernation.js.map +1 -0
- package/dist/do/index.d.ts +19 -0
- package/dist/do/index.d.ts.map +1 -0
- package/dist/do/index.js +23 -0
- package/dist/do/index.js.map +1 -0
- package/dist/do/state.d.ts +336 -0
- package/dist/do/state.d.ts.map +1 -0
- package/dist/do/state.js +290 -0
- package/dist/do/state.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -0
- package/dist/rpc/client.d.ts +426 -0
- package/dist/rpc/client.d.ts.map +1 -0
- package/dist/rpc/client.js +826 -0
- package/dist/rpc/client.js.map +1 -0
- package/dist/rpc/index.d.ts +19 -0
- package/dist/rpc/index.d.ts.map +1 -0
- package/dist/rpc/index.js +23 -0
- package/dist/rpc/index.js.map +1 -0
- package/dist/rpc/methods.d.ts +364 -0
- package/dist/rpc/methods.d.ts.map +1 -0
- package/dist/rpc/methods.js +557 -0
- package/dist/rpc/methods.js.map +1 -0
- package/dist/rpc/protocol.d.ts +310 -0
- package/dist/rpc/protocol.d.ts.map +1 -0
- package/dist/rpc/protocol.js +672 -0
- package/dist/rpc/protocol.js.map +1 -0
- package/dist/rpc/routes.d.ts +332 -0
- package/dist/rpc/routes.d.ts.map +1 -0
- package/dist/rpc/routes.js +633 -0
- package/dist/rpc/routes.js.map +1 -0
- package/dist/rpc/server.d.ts +380 -0
- package/dist/rpc/server.d.ts.map +1 -0
- package/dist/rpc/server.js +850 -0
- package/dist/rpc/server.js.map +1 -0
- package/dist/sdk/auth.d.ts +201 -0
- package/dist/sdk/auth.d.ts.map +1 -0
- package/dist/sdk/auth.js +343 -0
- package/dist/sdk/auth.js.map +1 -0
- package/dist/sdk/client.d.ts +123 -0
- package/dist/sdk/client.d.ts.map +1 -0
- package/dist/sdk/client.js +403 -0
- package/dist/sdk/client.js.map +1 -0
- package/dist/sdk/index.d.ts +123 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +230 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/rpc.d.ts +275 -0
- package/dist/sdk/rpc.d.ts.map +1 -0
- package/dist/sdk/rpc.js +249 -0
- package/dist/sdk/rpc.js.map +1 -0
- package/dist/sdk/transport.d.ts +283 -0
- package/dist/sdk/transport.d.ts.map +1 -0
- package/dist/sdk/transport.js +661 -0
- package/dist/sdk/transport.js.map +1 -0
- package/dist/sdk/types.d.ts +265 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/sdk/types.js +27 -0
- package/dist/sdk/types.js.map +1 -0
- package/dist/types/ai.d.ts +533 -0
- package/dist/types/ai.d.ts.map +1 -0
- package/dist/types/ai.js +18 -0
- package/dist/types/ai.js.map +1 -0
- package/dist/types/app.d.ts +371 -0
- package/dist/types/app.d.ts.map +1 -0
- package/dist/types/app.js +151 -0
- package/dist/types/app.js.map +1 -0
- package/dist/types/business.d.ts +482 -0
- package/dist/types/business.d.ts.map +1 -0
- package/dist/types/business.js +60 -0
- package/dist/types/business.js.map +1 -0
- package/dist/types/cascade.d.ts +323 -0
- package/dist/types/cascade.d.ts.map +1 -0
- package/dist/types/cascade.js +82 -0
- package/dist/types/cascade.js.map +1 -0
- package/dist/types/collections.d.ts +704 -0
- package/dist/types/collections.d.ts.map +1 -0
- package/dist/types/collections.js +23 -0
- package/dist/types/collections.js.map +1 -0
- package/dist/types/colo.d.ts +171 -0
- package/dist/types/colo.d.ts.map +1 -0
- package/dist/types/colo.js +63 -0
- package/dist/types/colo.js.map +1 -0
- package/dist/types/communication.d.ts +595 -0
- package/dist/types/communication.d.ts.map +1 -0
- package/dist/types/communication.js +16 -0
- package/dist/types/communication.js.map +1 -0
- package/dist/types/content.d.ts +286 -0
- package/dist/types/content.d.ts.map +1 -0
- package/dist/types/content.js +8 -0
- package/dist/types/content.js.map +1 -0
- package/dist/types/context.d.ts +407 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +36 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/databases.d.ts +377 -0
- package/dist/types/databases.d.ts.map +1 -0
- package/dist/types/databases.js +14 -0
- package/dist/types/databases.js.map +1 -0
- package/dist/types/domains.d.ts +132 -0
- package/dist/types/domains.d.ts.map +1 -0
- package/dist/types/domains.js +107 -0
- package/dist/types/domains.js.map +1 -0
- package/dist/types/execution.d.ts +381 -0
- package/dist/types/execution.d.ts.map +1 -0
- package/dist/types/execution.js +40 -0
- package/dist/types/execution.js.map +1 -0
- package/dist/types/financial.d.ts +608 -0
- package/dist/types/financial.d.ts.map +1 -0
- package/dist/types/financial.js +12 -0
- package/dist/types/financial.js.map +1 -0
- package/dist/types/functions.d.ts +215 -0
- package/dist/types/functions.d.ts.map +1 -0
- package/dist/types/functions.js +15 -0
- package/dist/types/functions.js.map +1 -0
- package/dist/types/git.d.ts +299 -0
- package/dist/types/git.d.ts.map +1 -0
- package/dist/types/git.js +17 -0
- package/dist/types/git.js.map +1 -0
- package/dist/types/identity.d.ts +141 -0
- package/dist/types/identity.d.ts.map +1 -0
- package/dist/types/identity.js +54 -0
- package/dist/types/identity.js.map +1 -0
- package/dist/types/index.d.ts +40 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +65 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/integrations.d.ts +356 -0
- package/dist/types/integrations.d.ts.map +1 -0
- package/dist/types/integrations.js +19 -0
- package/dist/types/integrations.js.map +1 -0
- package/dist/types/mdxui.d.ts +1955 -0
- package/dist/types/mdxui.d.ts.map +1 -0
- package/dist/types/mdxui.js +751 -0
- package/dist/types/mdxui.js.map +1 -0
- package/dist/types/observability.d.ts +315 -0
- package/dist/types/observability.d.ts.map +1 -0
- package/dist/types/observability.js +13 -0
- package/dist/types/observability.js.map +1 -0
- package/dist/types/rpc.d.ts +339 -0
- package/dist/types/rpc.d.ts.map +1 -0
- package/dist/types/rpc.js +24 -0
- package/dist/types/rpc.js.map +1 -0
- package/dist/types/saas.d.ts +678 -0
- package/dist/types/saas.d.ts.map +1 -0
- package/dist/types/saas.js +59 -0
- package/dist/types/saas.js.map +1 -0
- package/dist/types/service.d.ts +676 -0
- package/dist/types/service.d.ts.map +1 -0
- package/dist/types/service.js +69 -0
- package/dist/types/service.js.map +1 -0
- package/dist/types/site.d.ts +317 -0
- package/dist/types/site.d.ts.map +1 -0
- package/dist/types/site.js +203 -0
- package/dist/types/site.js.map +1 -0
- package/dist/types/startup.d.ts +576 -0
- package/dist/types/startup.d.ts.map +1 -0
- package/dist/types/startup.js +59 -0
- package/dist/types/startup.js.map +1 -0
- package/dist/types/storage.d.ts +276 -0
- package/dist/types/storage.d.ts.map +1 -0
- package/dist/types/storage.js +35 -0
- package/dist/types/storage.js.map +1 -0
- package/dist/types/telephony.d.ts +458 -0
- package/dist/types/telephony.d.ts.map +1 -0
- package/dist/types/telephony.js +19 -0
- package/dist/types/telephony.js.map +1 -0
- package/dist/types/tenant.d.ts +708 -0
- package/dist/types/tenant.d.ts.map +1 -0
- package/dist/types/tenant.js +103 -0
- package/dist/types/tenant.js.map +1 -0
- package/dist/types/voice-ai.d.ts +459 -0
- package/dist/types/voice-ai.d.ts.map +1 -0
- package/dist/types/voice-ai.js +32 -0
- package/dist/types/voice-ai.js.map +1 -0
- package/package.json +143 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stripe Connect Integration
|
|
3
|
+
*
|
|
4
|
+
* Provides Stripe Connect functionality for multi-party payments:
|
|
5
|
+
* - Account creation (Standard, Express, Custom)
|
|
6
|
+
* - Onboarding flow management
|
|
7
|
+
* - Capability monitoring
|
|
8
|
+
* - Bank account management
|
|
9
|
+
*
|
|
10
|
+
* @module financial/stripe
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Stripe Connect manager for Digital Objects
|
|
14
|
+
*
|
|
15
|
+
* Handles Stripe Connect account lifecycle including creation,
|
|
16
|
+
* onboarding, and capability management.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const connect = new StripeConnect({ secretKey: env.STRIPE_SECRET_KEY })
|
|
21
|
+
*
|
|
22
|
+
* // Create a new connected account
|
|
23
|
+
* const account = await connect.createAccount('express', businessRef, {
|
|
24
|
+
* businessProfile: { name: 'Acme Corp' }
|
|
25
|
+
* })
|
|
26
|
+
*
|
|
27
|
+
* // Generate onboarding link
|
|
28
|
+
* const link = await connect.createAccountLink(
|
|
29
|
+
* account.stripeAccountId,
|
|
30
|
+
* 'https://example.com/return',
|
|
31
|
+
* 'https://example.com/refresh'
|
|
32
|
+
* )
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export class StripeConnect {
|
|
36
|
+
config;
|
|
37
|
+
/**
|
|
38
|
+
* Create a new StripeConnect instance
|
|
39
|
+
*
|
|
40
|
+
* @param config - Stripe Connect configuration
|
|
41
|
+
*/
|
|
42
|
+
constructor(config) {
|
|
43
|
+
this.config = config;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Create a new Stripe Connect account
|
|
47
|
+
*
|
|
48
|
+
* @param type - Account type (standard, express, or custom)
|
|
49
|
+
* @param businessRef - Reference to the Business DO
|
|
50
|
+
* @param options - Additional account options
|
|
51
|
+
* @returns The created Connect account
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const account = await connect.createAccount('express', businessRef)
|
|
56
|
+
* console.log(account.stripeAccountId) // 'acct_xxx'
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
async createAccount(type, businessRef, options) {
|
|
60
|
+
// TODO: Implement Stripe API call
|
|
61
|
+
throw new Error('Not implemented');
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Retrieve a Connect account by Stripe account ID
|
|
65
|
+
*
|
|
66
|
+
* @param stripeAccountId - The Stripe account ID (acct_xxx)
|
|
67
|
+
* @returns The Connect account or null if not found
|
|
68
|
+
*/
|
|
69
|
+
async getAccount(stripeAccountId) {
|
|
70
|
+
// TODO: Implement Stripe API call
|
|
71
|
+
throw new Error('Not implemented');
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Update a Connect account
|
|
75
|
+
*
|
|
76
|
+
* @param stripeAccountId - The Stripe account ID
|
|
77
|
+
* @param updates - Fields to update
|
|
78
|
+
* @returns The updated account
|
|
79
|
+
*/
|
|
80
|
+
async updateAccount(stripeAccountId, updates) {
|
|
81
|
+
// TODO: Implement Stripe API call
|
|
82
|
+
throw new Error('Not implemented');
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Delete a Connect account
|
|
86
|
+
*
|
|
87
|
+
* @param stripeAccountId - The Stripe account ID
|
|
88
|
+
*/
|
|
89
|
+
async deleteAccount(stripeAccountId) {
|
|
90
|
+
// TODO: Implement Stripe API call
|
|
91
|
+
throw new Error('Not implemented');
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Create an account link for onboarding or updates
|
|
95
|
+
*
|
|
96
|
+
* Account links are single-use URLs that redirect the account holder
|
|
97
|
+
* to Stripe-hosted onboarding or account management.
|
|
98
|
+
*
|
|
99
|
+
* @param stripeAccountId - The Stripe account ID
|
|
100
|
+
* @param returnUrl - URL to redirect after completion
|
|
101
|
+
* @param refreshUrl - URL to redirect if link expires
|
|
102
|
+
* @param options - Additional link options
|
|
103
|
+
* @returns The account link URL
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* const url = await connect.createAccountLink(
|
|
108
|
+
* 'acct_xxx',
|
|
109
|
+
* 'https://example.com/onboarding/complete',
|
|
110
|
+
* 'https://example.com/onboarding/refresh'
|
|
111
|
+
* )
|
|
112
|
+
* // Redirect user to url
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
async createAccountLink(stripeAccountId, returnUrl, refreshUrl, options) {
|
|
116
|
+
// TODO: Implement Stripe API call
|
|
117
|
+
throw new Error('Not implemented');
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Create a login link for Express or Custom accounts
|
|
121
|
+
*
|
|
122
|
+
* Login links allow connected account holders to access their
|
|
123
|
+
* Stripe Express dashboard.
|
|
124
|
+
*
|
|
125
|
+
* @param stripeAccountId - The Stripe account ID
|
|
126
|
+
* @returns The login link URL
|
|
127
|
+
*/
|
|
128
|
+
async createLoginLink(stripeAccountId) {
|
|
129
|
+
// TODO: Implement Stripe API call
|
|
130
|
+
throw new Error('Not implemented');
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get account capabilities
|
|
134
|
+
*
|
|
135
|
+
* @param stripeAccountId - The Stripe account ID
|
|
136
|
+
* @returns Current capabilities and their status
|
|
137
|
+
*/
|
|
138
|
+
async getCapabilities(stripeAccountId) {
|
|
139
|
+
// TODO: Implement Stripe API call
|
|
140
|
+
throw new Error('Not implemented');
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Request additional capabilities for an account
|
|
144
|
+
*
|
|
145
|
+
* @param stripeAccountId - The Stripe account ID
|
|
146
|
+
* @param capabilities - Capabilities to request
|
|
147
|
+
*/
|
|
148
|
+
async requestCapabilities(stripeAccountId, capabilities) {
|
|
149
|
+
// TODO: Implement Stripe API call
|
|
150
|
+
throw new Error('Not implemented');
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Add a bank account for payouts
|
|
154
|
+
*
|
|
155
|
+
* @param stripeAccountId - The Stripe account ID
|
|
156
|
+
* @param bankAccountToken - Bank account token from Stripe.js
|
|
157
|
+
* @returns The created bank account
|
|
158
|
+
*/
|
|
159
|
+
async addBankAccount(stripeAccountId, bankAccountToken) {
|
|
160
|
+
// TODO: Implement Stripe API call
|
|
161
|
+
throw new Error('Not implemented');
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* List bank accounts for a Connect account
|
|
165
|
+
*
|
|
166
|
+
* @param stripeAccountId - The Stripe account ID
|
|
167
|
+
* @returns List of bank accounts
|
|
168
|
+
*/
|
|
169
|
+
async listBankAccounts(stripeAccountId) {
|
|
170
|
+
// TODO: Implement Stripe API call
|
|
171
|
+
throw new Error('Not implemented');
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Set the default bank account for payouts
|
|
175
|
+
*
|
|
176
|
+
* @param stripeAccountId - The Stripe account ID
|
|
177
|
+
* @param bankAccountId - The bank account ID to set as default
|
|
178
|
+
*/
|
|
179
|
+
async setDefaultBankAccount(stripeAccountId, bankAccountId) {
|
|
180
|
+
// TODO: Implement Stripe API call
|
|
181
|
+
throw new Error('Not implemented');
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Delete a bank account
|
|
185
|
+
*
|
|
186
|
+
* @param stripeAccountId - The Stripe account ID
|
|
187
|
+
* @param bankAccountId - The bank account ID to delete
|
|
188
|
+
*/
|
|
189
|
+
async deleteBankAccount(stripeAccountId, bankAccountId) {
|
|
190
|
+
// TODO: Implement Stripe API call
|
|
191
|
+
throw new Error('Not implemented');
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Handle a Stripe webhook event
|
|
195
|
+
*
|
|
196
|
+
* Validates the webhook signature and processes account-related events.
|
|
197
|
+
*
|
|
198
|
+
* @param payload - Raw webhook payload
|
|
199
|
+
* @param signature - Stripe-Signature header value
|
|
200
|
+
* @returns Processed event data
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```typescript
|
|
204
|
+
* app.post('/webhook', async (req, res) => {
|
|
205
|
+
* const event = await connect.handleWebhook(
|
|
206
|
+
* req.body,
|
|
207
|
+
* req.headers['stripe-signature']
|
|
208
|
+
* )
|
|
209
|
+
* // Process event...
|
|
210
|
+
* })
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
async handleWebhook(payload, signature) {
|
|
214
|
+
// TODO: Implement webhook verification and handling
|
|
215
|
+
throw new Error('Not implemented');
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Check if an account is fully onboarded and ready for charges
|
|
219
|
+
*
|
|
220
|
+
* @param stripeAccountId - The Stripe account ID
|
|
221
|
+
* @returns True if the account can accept charges
|
|
222
|
+
*/
|
|
223
|
+
async isReadyForCharges(stripeAccountId) {
|
|
224
|
+
// TODO: Implement capability check
|
|
225
|
+
throw new Error('Not implemented');
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Check if an account is ready for payouts
|
|
229
|
+
*
|
|
230
|
+
* @param stripeAccountId - The Stripe account ID
|
|
231
|
+
* @returns True if the account can receive payouts
|
|
232
|
+
*/
|
|
233
|
+
async isReadyForPayouts(stripeAccountId) {
|
|
234
|
+
// TODO: Implement capability check
|
|
235
|
+
throw new Error('Not implemented');
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Stripe Connect error codes
|
|
240
|
+
*/
|
|
241
|
+
export const StripeConnectErrorCodes = {
|
|
242
|
+
ACCOUNT_NOT_FOUND: 'ACCOUNT_NOT_FOUND',
|
|
243
|
+
ONBOARDING_INCOMPLETE: 'ONBOARDING_INCOMPLETE',
|
|
244
|
+
CAPABILITY_NOT_AVAILABLE: 'CAPABILITY_NOT_AVAILABLE',
|
|
245
|
+
BANK_ACCOUNT_INVALID: 'BANK_ACCOUNT_INVALID',
|
|
246
|
+
WEBHOOK_SIGNATURE_INVALID: 'WEBHOOK_SIGNATURE_INVALID',
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* Stripe Connect error
|
|
250
|
+
*/
|
|
251
|
+
export class StripeConnectError extends Error {
|
|
252
|
+
code;
|
|
253
|
+
details;
|
|
254
|
+
constructor(code, message, details) {
|
|
255
|
+
super(message);
|
|
256
|
+
this.code = code;
|
|
257
|
+
this.details = details;
|
|
258
|
+
this.name = 'StripeConnectError';
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=stripe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../../../do/business/financial/stripe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subscription Management
|
|
3
|
+
*
|
|
4
|
+
* Handles recurring revenue including:
|
|
5
|
+
* - Subscription creation and lifecycle
|
|
6
|
+
* - Trials and promotions
|
|
7
|
+
* - Upgrades and downgrades
|
|
8
|
+
* - Cancellations and pauses
|
|
9
|
+
* - Invoice generation
|
|
10
|
+
*
|
|
11
|
+
* @module financial/subscriptions
|
|
12
|
+
*/
|
|
13
|
+
import type { Subscription, Invoice, InvoiceLineItem, ListSubscriptionsOptions } from '../../../types/financial';
|
|
14
|
+
import type { DigitalObjectRef } from '../../../types/identity';
|
|
15
|
+
/**
|
|
16
|
+
* Configuration for subscription management
|
|
17
|
+
*/
|
|
18
|
+
export interface SubscriptionManagerConfig {
|
|
19
|
+
/** Stripe secret API key */
|
|
20
|
+
secretKey: string;
|
|
21
|
+
/** Default trial period in days */
|
|
22
|
+
defaultTrialDays?: number;
|
|
23
|
+
/** Proration behavior for changes */
|
|
24
|
+
prorationBehavior?: 'create_prorations' | 'none' | 'always_invoice';
|
|
25
|
+
/** Payment behavior for new subscriptions */
|
|
26
|
+
paymentBehavior?: 'default_incomplete' | 'allow_incomplete' | 'error_if_incomplete';
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Options for creating a subscription
|
|
30
|
+
*/
|
|
31
|
+
export interface CreateSubscriptionOptions {
|
|
32
|
+
/** Trial period end timestamp */
|
|
33
|
+
trialEnd?: number | 'now';
|
|
34
|
+
/** Trial period in days */
|
|
35
|
+
trialPeriodDays?: number;
|
|
36
|
+
/** Coupon or promotion code */
|
|
37
|
+
coupon?: string;
|
|
38
|
+
/** Promotion code */
|
|
39
|
+
promotionCode?: string;
|
|
40
|
+
/** Quantity (for per-seat pricing) */
|
|
41
|
+
quantity?: number;
|
|
42
|
+
/** Payment method ID */
|
|
43
|
+
defaultPaymentMethod?: string;
|
|
44
|
+
/** Cancel at end of period */
|
|
45
|
+
cancelAtPeriodEnd?: boolean;
|
|
46
|
+
/** Billing cycle anchor */
|
|
47
|
+
billingCycleAnchor?: number | 'now' | 'unchanged';
|
|
48
|
+
/** Collection method */
|
|
49
|
+
collectionMethod?: 'charge_automatically' | 'send_invoice';
|
|
50
|
+
/** Days until due (for invoiced subscriptions) */
|
|
51
|
+
daysUntilDue?: number;
|
|
52
|
+
/** Metadata */
|
|
53
|
+
metadata?: Record<string, string>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Options for updating a subscription
|
|
57
|
+
*/
|
|
58
|
+
export interface UpdateSubscriptionOptions {
|
|
59
|
+
/** New price ID (for upgrades/downgrades) */
|
|
60
|
+
priceId?: string;
|
|
61
|
+
/** New quantity */
|
|
62
|
+
quantity?: number;
|
|
63
|
+
/** Proration behavior */
|
|
64
|
+
prorationBehavior?: 'create_prorations' | 'none' | 'always_invoice';
|
|
65
|
+
/** Proration date */
|
|
66
|
+
prorationDate?: number;
|
|
67
|
+
/** Cancel at period end */
|
|
68
|
+
cancelAtPeriodEnd?: boolean;
|
|
69
|
+
/** Trial end */
|
|
70
|
+
trialEnd?: number | 'now';
|
|
71
|
+
/** Payment method */
|
|
72
|
+
defaultPaymentMethod?: string;
|
|
73
|
+
/** Metadata */
|
|
74
|
+
metadata?: Record<string, string>;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Options for canceling a subscription
|
|
78
|
+
*/
|
|
79
|
+
export interface CancelSubscriptionOptions {
|
|
80
|
+
/** Cancel at end of billing period */
|
|
81
|
+
atPeriodEnd?: boolean;
|
|
82
|
+
/** Cancellation reason */
|
|
83
|
+
cancellationDetails?: {
|
|
84
|
+
comment?: string;
|
|
85
|
+
feedback?: 'customer_service' | 'low_quality' | 'missing_features' | 'switched_service' | 'too_complex' | 'too_expensive' | 'unused' | 'other';
|
|
86
|
+
};
|
|
87
|
+
/** Prorate final invoice */
|
|
88
|
+
prorate?: boolean;
|
|
89
|
+
/** Invoice immediately */
|
|
90
|
+
invoiceNow?: boolean;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Options for listing invoices
|
|
94
|
+
*/
|
|
95
|
+
export interface ListInvoicesOptions {
|
|
96
|
+
/** Customer reference */
|
|
97
|
+
customerRef?: DigitalObjectRef;
|
|
98
|
+
/** Subscription ID */
|
|
99
|
+
subscriptionId?: string;
|
|
100
|
+
/** Invoice status */
|
|
101
|
+
status?: Invoice['status'];
|
|
102
|
+
/** Created after timestamp */
|
|
103
|
+
createdAfter?: number;
|
|
104
|
+
/** Created before timestamp */
|
|
105
|
+
createdBefore?: number;
|
|
106
|
+
/** Limit */
|
|
107
|
+
limit?: number;
|
|
108
|
+
/** Starting after (pagination cursor) */
|
|
109
|
+
startingAfter?: string;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Subscription manager for Digital Objects
|
|
113
|
+
*
|
|
114
|
+
* Manages the full subscription lifecycle including creation,
|
|
115
|
+
* modifications, and cancellation with support for trials and promotions.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* const subscriptions = new SubscriptionManager({
|
|
120
|
+
* secretKey: env.STRIPE_SECRET_KEY,
|
|
121
|
+
* defaultTrialDays: 14
|
|
122
|
+
* })
|
|
123
|
+
*
|
|
124
|
+
* // Create a subscription with trial
|
|
125
|
+
* const sub = await subscriptions.create(customerRef, 'price_pro_monthly', {
|
|
126
|
+
* trialPeriodDays: 14
|
|
127
|
+
* })
|
|
128
|
+
*
|
|
129
|
+
* // Upgrade to annual plan
|
|
130
|
+
* await subscriptions.update(sub.id, {
|
|
131
|
+
* priceId: 'price_pro_annual',
|
|
132
|
+
* prorationBehavior: 'create_prorations'
|
|
133
|
+
* })
|
|
134
|
+
*
|
|
135
|
+
* // Cancel at period end
|
|
136
|
+
* await subscriptions.cancel(sub.id, { atPeriodEnd: true })
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
export declare class SubscriptionManager {
|
|
140
|
+
private readonly config;
|
|
141
|
+
/**
|
|
142
|
+
* Create a new SubscriptionManager instance
|
|
143
|
+
*
|
|
144
|
+
* @param config - Subscription manager configuration
|
|
145
|
+
*/
|
|
146
|
+
constructor(config: SubscriptionManagerConfig);
|
|
147
|
+
/**
|
|
148
|
+
* Create a new subscription
|
|
149
|
+
*
|
|
150
|
+
* @param customerRef - Reference to the customer DO
|
|
151
|
+
* @param priceId - Stripe price ID
|
|
152
|
+
* @param options - Additional subscription options
|
|
153
|
+
* @returns The created subscription
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* // Basic subscription
|
|
158
|
+
* const sub = await subscriptions.create(customerRef, 'price_pro_monthly')
|
|
159
|
+
*
|
|
160
|
+
* // Subscription with trial and quantity
|
|
161
|
+
* const sub = await subscriptions.create(customerRef, 'price_team_monthly', {
|
|
162
|
+
* trialPeriodDays: 14,
|
|
163
|
+
* quantity: 5 // 5 seats
|
|
164
|
+
* })
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
create(customerRef: DigitalObjectRef, priceId: string, options?: CreateSubscriptionOptions): Promise<Subscription>;
|
|
168
|
+
/**
|
|
169
|
+
* Retrieve a subscription by ID
|
|
170
|
+
*
|
|
171
|
+
* @param subscriptionId - The subscription ID
|
|
172
|
+
* @returns The subscription or null if not found
|
|
173
|
+
*/
|
|
174
|
+
get(subscriptionId: string): Promise<Subscription | null>;
|
|
175
|
+
/**
|
|
176
|
+
* Update a subscription
|
|
177
|
+
*
|
|
178
|
+
* Used for upgrades, downgrades, quantity changes, and other modifications.
|
|
179
|
+
*
|
|
180
|
+
* @param subscriptionId - The subscription ID
|
|
181
|
+
* @param options - Update options
|
|
182
|
+
* @returns The updated subscription
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```typescript
|
|
186
|
+
* // Upgrade plan
|
|
187
|
+
* await subscriptions.update(subId, {
|
|
188
|
+
* priceId: 'price_enterprise_monthly',
|
|
189
|
+
* prorationBehavior: 'create_prorations'
|
|
190
|
+
* })
|
|
191
|
+
*
|
|
192
|
+
* // Change quantity
|
|
193
|
+
* await subscriptions.update(subId, { quantity: 10 })
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
update(subscriptionId: string, options: UpdateSubscriptionOptions): Promise<Subscription>;
|
|
197
|
+
/**
|
|
198
|
+
* Cancel a subscription
|
|
199
|
+
*
|
|
200
|
+
* @param subscriptionId - The subscription ID
|
|
201
|
+
* @param options - Cancellation options
|
|
202
|
+
* @returns The canceled subscription
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```typescript
|
|
206
|
+
* // Cancel at end of period (graceful)
|
|
207
|
+
* await subscriptions.cancel(subId, { atPeriodEnd: true })
|
|
208
|
+
*
|
|
209
|
+
* // Cancel immediately with feedback
|
|
210
|
+
* await subscriptions.cancel(subId, {
|
|
211
|
+
* atPeriodEnd: false,
|
|
212
|
+
* cancellationDetails: {
|
|
213
|
+
* feedback: 'too_expensive',
|
|
214
|
+
* comment: 'Budget constraints'
|
|
215
|
+
* }
|
|
216
|
+
* })
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
219
|
+
cancel(subscriptionId: string, options?: CancelSubscriptionOptions): Promise<Subscription>;
|
|
220
|
+
/**
|
|
221
|
+
* Resume a canceled subscription
|
|
222
|
+
*
|
|
223
|
+
* Only works if subscription was canceled with atPeriodEnd: true
|
|
224
|
+
* and the period hasn't ended yet.
|
|
225
|
+
*
|
|
226
|
+
* @param subscriptionId - The subscription ID
|
|
227
|
+
* @returns The resumed subscription
|
|
228
|
+
*/
|
|
229
|
+
resume(subscriptionId: string): Promise<Subscription>;
|
|
230
|
+
/**
|
|
231
|
+
* Pause a subscription
|
|
232
|
+
*
|
|
233
|
+
* Pauses collection on the subscription. The subscription
|
|
234
|
+
* remains active but billing is suspended.
|
|
235
|
+
*
|
|
236
|
+
* @param subscriptionId - The subscription ID
|
|
237
|
+
* @param resumesAt - Timestamp when to resume billing
|
|
238
|
+
* @returns The paused subscription
|
|
239
|
+
*/
|
|
240
|
+
pause(subscriptionId: string, resumesAt?: number): Promise<Subscription>;
|
|
241
|
+
/**
|
|
242
|
+
* Unpause a subscription
|
|
243
|
+
*
|
|
244
|
+
* @param subscriptionId - The subscription ID
|
|
245
|
+
* @returns The resumed subscription
|
|
246
|
+
*/
|
|
247
|
+
unpause(subscriptionId: string): Promise<Subscription>;
|
|
248
|
+
/**
|
|
249
|
+
* List subscriptions with filtering
|
|
250
|
+
*
|
|
251
|
+
* @param options - Filter and pagination options
|
|
252
|
+
* @returns List of subscriptions
|
|
253
|
+
*
|
|
254
|
+
* @example
|
|
255
|
+
* ```typescript
|
|
256
|
+
* // Get all active subscriptions
|
|
257
|
+
* const subs = await subscriptions.list({ status: 'active' })
|
|
258
|
+
*
|
|
259
|
+
* // Get subscriptions for a customer
|
|
260
|
+
* const subs = await subscriptions.list({ customerRef })
|
|
261
|
+
* ```
|
|
262
|
+
*/
|
|
263
|
+
list(options?: ListSubscriptionsOptions): Promise<Subscription[]>;
|
|
264
|
+
/**
|
|
265
|
+
* Get upcoming invoice for a subscription
|
|
266
|
+
*
|
|
267
|
+
* Preview what the next invoice will look like, including
|
|
268
|
+
* any pending proration items.
|
|
269
|
+
*
|
|
270
|
+
* @param subscriptionId - The subscription ID
|
|
271
|
+
* @param options - Preview options for simulating changes
|
|
272
|
+
* @returns The upcoming invoice preview
|
|
273
|
+
*/
|
|
274
|
+
getUpcomingInvoice(subscriptionId: string, options?: {
|
|
275
|
+
priceId?: string;
|
|
276
|
+
quantity?: number;
|
|
277
|
+
prorationDate?: number;
|
|
278
|
+
}): Promise<Invoice>;
|
|
279
|
+
/**
|
|
280
|
+
* Create an invoice for a subscription
|
|
281
|
+
*
|
|
282
|
+
* Manually creates an invoice for pending invoice items.
|
|
283
|
+
*
|
|
284
|
+
* @param subscriptionId - The subscription ID
|
|
285
|
+
* @param options - Invoice options
|
|
286
|
+
* @returns The created invoice
|
|
287
|
+
*/
|
|
288
|
+
createInvoice(subscriptionId: string, options?: {
|
|
289
|
+
autoAdvance?: boolean;
|
|
290
|
+
description?: string;
|
|
291
|
+
metadata?: Record<string, string>;
|
|
292
|
+
}): Promise<Invoice>;
|
|
293
|
+
/**
|
|
294
|
+
* Retrieve an invoice
|
|
295
|
+
*
|
|
296
|
+
* @param invoiceId - The invoice ID
|
|
297
|
+
* @returns The invoice or null if not found
|
|
298
|
+
*/
|
|
299
|
+
getInvoice(invoiceId: string): Promise<Invoice | null>;
|
|
300
|
+
/**
|
|
301
|
+
* Pay an invoice
|
|
302
|
+
*
|
|
303
|
+
* @param invoiceId - The invoice ID
|
|
304
|
+
* @param paymentMethodId - Payment method to use
|
|
305
|
+
* @returns The paid invoice
|
|
306
|
+
*/
|
|
307
|
+
payInvoice(invoiceId: string, paymentMethodId?: string): Promise<Invoice>;
|
|
308
|
+
/**
|
|
309
|
+
* Void an invoice
|
|
310
|
+
*
|
|
311
|
+
* @param invoiceId - The invoice ID
|
|
312
|
+
* @returns The voided invoice
|
|
313
|
+
*/
|
|
314
|
+
voidInvoice(invoiceId: string): Promise<Invoice>;
|
|
315
|
+
/**
|
|
316
|
+
* Mark an invoice as uncollectible
|
|
317
|
+
*
|
|
318
|
+
* @param invoiceId - The invoice ID
|
|
319
|
+
* @returns The updated invoice
|
|
320
|
+
*/
|
|
321
|
+
markUncollectible(invoiceId: string): Promise<Invoice>;
|
|
322
|
+
/**
|
|
323
|
+
* List invoices with filtering
|
|
324
|
+
*
|
|
325
|
+
* @param options - Filter and pagination options
|
|
326
|
+
* @returns List of invoices
|
|
327
|
+
*/
|
|
328
|
+
listInvoices(options?: ListInvoicesOptions): Promise<Invoice[]>;
|
|
329
|
+
/**
|
|
330
|
+
* Send an invoice to the customer
|
|
331
|
+
*
|
|
332
|
+
* @param invoiceId - The invoice ID
|
|
333
|
+
* @returns The sent invoice
|
|
334
|
+
*/
|
|
335
|
+
sendInvoice(invoiceId: string): Promise<Invoice>;
|
|
336
|
+
/**
|
|
337
|
+
* Add an invoice item
|
|
338
|
+
*
|
|
339
|
+
* @param customerRef - Customer reference
|
|
340
|
+
* @param options - Invoice item options
|
|
341
|
+
* @returns The created invoice line item
|
|
342
|
+
*/
|
|
343
|
+
addInvoiceItem(customerRef: DigitalObjectRef, options: {
|
|
344
|
+
amount: number;
|
|
345
|
+
currency: string;
|
|
346
|
+
description: string;
|
|
347
|
+
subscriptionId?: string;
|
|
348
|
+
period?: {
|
|
349
|
+
start: number;
|
|
350
|
+
end: number;
|
|
351
|
+
};
|
|
352
|
+
metadata?: Record<string, string>;
|
|
353
|
+
}): Promise<InvoiceLineItem>;
|
|
354
|
+
/**
|
|
355
|
+
* Apply a coupon to a subscription
|
|
356
|
+
*
|
|
357
|
+
* @param subscriptionId - The subscription ID
|
|
358
|
+
* @param couponId - The coupon ID
|
|
359
|
+
* @returns The updated subscription
|
|
360
|
+
*/
|
|
361
|
+
applyCoupon(subscriptionId: string, couponId: string): Promise<Subscription>;
|
|
362
|
+
/**
|
|
363
|
+
* Remove a coupon from a subscription
|
|
364
|
+
*
|
|
365
|
+
* @param subscriptionId - The subscription ID
|
|
366
|
+
* @returns The updated subscription
|
|
367
|
+
*/
|
|
368
|
+
removeCoupon(subscriptionId: string): Promise<Subscription>;
|
|
369
|
+
/**
|
|
370
|
+
* Handle a Stripe webhook event for subscriptions
|
|
371
|
+
*
|
|
372
|
+
* @param payload - Raw webhook payload
|
|
373
|
+
* @param signature - Stripe-Signature header value
|
|
374
|
+
* @returns Processed event data
|
|
375
|
+
*/
|
|
376
|
+
handleWebhook(payload: string | ArrayBuffer, signature: string): Promise<{
|
|
377
|
+
type: string;
|
|
378
|
+
data: unknown;
|
|
379
|
+
}>;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Subscription error codes
|
|
383
|
+
*/
|
|
384
|
+
export declare const SubscriptionErrorCodes: {
|
|
385
|
+
readonly SUBSCRIPTION_NOT_FOUND: "SUBSCRIPTION_NOT_FOUND";
|
|
386
|
+
readonly ALREADY_CANCELED: "ALREADY_CANCELED";
|
|
387
|
+
readonly CANNOT_RESUME: "CANNOT_RESUME";
|
|
388
|
+
readonly INVALID_PRICE: "INVALID_PRICE";
|
|
389
|
+
readonly INVOICE_NOT_FOUND: "INVOICE_NOT_FOUND";
|
|
390
|
+
readonly PAYMENT_FAILED: "PAYMENT_FAILED";
|
|
391
|
+
readonly CUSTOMER_NOT_FOUND: "CUSTOMER_NOT_FOUND";
|
|
392
|
+
};
|
|
393
|
+
export type SubscriptionErrorCode = typeof SubscriptionErrorCodes[keyof typeof SubscriptionErrorCodes];
|
|
394
|
+
/**
|
|
395
|
+
* Subscription error
|
|
396
|
+
*/
|
|
397
|
+
export declare class SubscriptionError extends Error {
|
|
398
|
+
readonly code: SubscriptionErrorCode;
|
|
399
|
+
readonly details?: unknown | undefined;
|
|
400
|
+
constructor(code: SubscriptionErrorCode, message: string, details?: unknown | undefined);
|
|
401
|
+
}
|
|
402
|
+
//# sourceMappingURL=subscriptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../do/business/financial/subscriptions.ts"],"names":[],"mappings":"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"}
|