@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,347 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Financial Reports
|
|
3
|
+
*
|
|
4
|
+
* Generates standard financial statements:
|
|
5
|
+
* - Profit & Loss (Income Statement)
|
|
6
|
+
* - Balance Sheet
|
|
7
|
+
* - Cash Flow Statement
|
|
8
|
+
*
|
|
9
|
+
* @module financial/reports
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Financial statement generator for Digital Objects
|
|
13
|
+
*
|
|
14
|
+
* Generates standard financial reports from the accounting journal
|
|
15
|
+
* including P&L, Balance Sheet, and Cash Flow Statement.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const reporter = new FinancialReporter({ journal })
|
|
20
|
+
*
|
|
21
|
+
* // Generate P&L for last month
|
|
22
|
+
* const pnl = await reporter.generateProfitAndLoss({
|
|
23
|
+
* start: startOfMonth,
|
|
24
|
+
* end: endOfMonth,
|
|
25
|
+
* label: 'January 2024'
|
|
26
|
+
* })
|
|
27
|
+
*
|
|
28
|
+
* // Generate balance sheet as of today
|
|
29
|
+
* const balance = await reporter.generateBalanceSheet(Date.now())
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export class FinancialReporter {
|
|
33
|
+
config;
|
|
34
|
+
/**
|
|
35
|
+
* Create a new FinancialReporter instance
|
|
36
|
+
*
|
|
37
|
+
* @param config - Financial reporter configuration
|
|
38
|
+
*/
|
|
39
|
+
constructor(config) {
|
|
40
|
+
this.config = config;
|
|
41
|
+
}
|
|
42
|
+
// =========================================================================
|
|
43
|
+
// Profit & Loss Statement
|
|
44
|
+
// =========================================================================
|
|
45
|
+
/**
|
|
46
|
+
* Generate a Profit & Loss (Income) Statement
|
|
47
|
+
*
|
|
48
|
+
* @param period - Report period
|
|
49
|
+
* @param options - Report options
|
|
50
|
+
* @returns The P&L statement
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const pnl = await reporter.generateProfitAndLoss({
|
|
55
|
+
* start: new Date('2024-01-01').getTime(),
|
|
56
|
+
* end: new Date('2024-01-31').getTime(),
|
|
57
|
+
* label: 'January 2024'
|
|
58
|
+
* })
|
|
59
|
+
*
|
|
60
|
+
* console.log('Net Income:', pnl.netIncome)
|
|
61
|
+
* console.log('Gross Margin:', pnl.grossProfit / pnl.revenue.total)
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
async generateProfitAndLoss(period, options) {
|
|
65
|
+
// TODO: Implement P&L generation
|
|
66
|
+
throw new Error('Not implemented');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Generate a comparative P&L with period-over-period analysis
|
|
70
|
+
*
|
|
71
|
+
* @param currentPeriod - Current report period
|
|
72
|
+
* @param previousPeriod - Previous period for comparison
|
|
73
|
+
* @param options - Report options
|
|
74
|
+
* @returns Comparative P&L
|
|
75
|
+
*/
|
|
76
|
+
async generateComparativeProfitAndLoss(currentPeriod, previousPeriod, options) {
|
|
77
|
+
// TODO: Implement comparative P&L
|
|
78
|
+
throw new Error('Not implemented');
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Build a P&L section from account balances
|
|
82
|
+
*
|
|
83
|
+
* @param category - Account category for the section
|
|
84
|
+
* @param period - Report period
|
|
85
|
+
* @param name - Section name
|
|
86
|
+
* @returns The P&L section
|
|
87
|
+
*/
|
|
88
|
+
async buildPLSection(category, period, name) {
|
|
89
|
+
// TODO: Implement section building
|
|
90
|
+
throw new Error('Not implemented');
|
|
91
|
+
}
|
|
92
|
+
// =========================================================================
|
|
93
|
+
// Balance Sheet
|
|
94
|
+
// =========================================================================
|
|
95
|
+
/**
|
|
96
|
+
* Generate a Balance Sheet
|
|
97
|
+
*
|
|
98
|
+
* @param asOf - Point-in-time for the balance sheet
|
|
99
|
+
* @param options - Report options
|
|
100
|
+
* @returns The balance sheet
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```typescript
|
|
104
|
+
* const balance = await reporter.generateBalanceSheet(Date.now())
|
|
105
|
+
*
|
|
106
|
+
* console.log('Total Assets:', balance.totalAssets)
|
|
107
|
+
* console.log('Total Liabilities:', balance.totalLiabilities)
|
|
108
|
+
* console.log('Total Equity:', balance.totalEquity)
|
|
109
|
+
*
|
|
110
|
+
* // Verify accounting equation
|
|
111
|
+
* const isBalanced = balance.totalAssets ===
|
|
112
|
+
* balance.totalLiabilities + balance.totalEquity
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
async generateBalanceSheet(asOf, options) {
|
|
116
|
+
// TODO: Implement balance sheet generation
|
|
117
|
+
throw new Error('Not implemented');
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Generate a comparative balance sheet
|
|
121
|
+
*
|
|
122
|
+
* @param currentDate - Current balance sheet date
|
|
123
|
+
* @param previousDate - Previous date for comparison
|
|
124
|
+
* @param options - Report options
|
|
125
|
+
* @returns Comparative balance sheet
|
|
126
|
+
*/
|
|
127
|
+
async generateComparativeBalanceSheet(currentDate, previousDate, options) {
|
|
128
|
+
// TODO: Implement comparative balance sheet
|
|
129
|
+
throw new Error('Not implemented');
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Build a balance sheet section from accounts
|
|
133
|
+
*
|
|
134
|
+
* @param category - Account category
|
|
135
|
+
* @param asOf - Point-in-time
|
|
136
|
+
* @param name - Section name
|
|
137
|
+
* @returns The balance sheet section
|
|
138
|
+
*/
|
|
139
|
+
async buildBalanceSheetSection(category, asOf, name) {
|
|
140
|
+
// TODO: Implement section building
|
|
141
|
+
throw new Error('Not implemented');
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Verify that the balance sheet balances
|
|
145
|
+
*
|
|
146
|
+
* @param balanceSheet - Balance sheet to verify
|
|
147
|
+
* @returns True if assets = liabilities + equity
|
|
148
|
+
*/
|
|
149
|
+
verifyBalanceSheet(balanceSheet) {
|
|
150
|
+
const tolerance = 0.01; // Allow for small rounding differences
|
|
151
|
+
const difference = Math.abs(balanceSheet.totalAssets -
|
|
152
|
+
(balanceSheet.totalLiabilities + balanceSheet.totalEquity));
|
|
153
|
+
return difference <= tolerance;
|
|
154
|
+
}
|
|
155
|
+
// =========================================================================
|
|
156
|
+
// Cash Flow Statement
|
|
157
|
+
// =========================================================================
|
|
158
|
+
/**
|
|
159
|
+
* Generate a Cash Flow Statement
|
|
160
|
+
*
|
|
161
|
+
* Uses the indirect method, starting with net income and
|
|
162
|
+
* adjusting for non-cash items and working capital changes.
|
|
163
|
+
*
|
|
164
|
+
* @param period - Report period
|
|
165
|
+
* @param options - Report options
|
|
166
|
+
* @returns The cash flow statement
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```typescript
|
|
170
|
+
* const cashFlow = await reporter.generateCashFlow({
|
|
171
|
+
* start: startOfMonth,
|
|
172
|
+
* end: endOfMonth
|
|
173
|
+
* })
|
|
174
|
+
*
|
|
175
|
+
* console.log('Net Cash from Operations:', cashFlow.operatingActivities.total)
|
|
176
|
+
* console.log('Ending Cash:', cashFlow.endingCash)
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
async generateCashFlow(period, options) {
|
|
180
|
+
// TODO: Implement cash flow generation
|
|
181
|
+
throw new Error('Not implemented');
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Generate a comparative cash flow statement
|
|
185
|
+
*
|
|
186
|
+
* @param currentPeriod - Current report period
|
|
187
|
+
* @param previousPeriod - Previous period for comparison
|
|
188
|
+
* @param options - Report options
|
|
189
|
+
* @returns Comparative cash flow statement
|
|
190
|
+
*/
|
|
191
|
+
async generateComparativeCashFlow(currentPeriod, previousPeriod, options) {
|
|
192
|
+
// TODO: Implement comparative cash flow
|
|
193
|
+
throw new Error('Not implemented');
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Build operating activities section
|
|
197
|
+
*
|
|
198
|
+
* @param period - Report period
|
|
199
|
+
* @returns Operating activities section
|
|
200
|
+
*/
|
|
201
|
+
async buildOperatingActivities(period) {
|
|
202
|
+
// TODO: Implement operating activities
|
|
203
|
+
throw new Error('Not implemented');
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Build investing activities section
|
|
207
|
+
*
|
|
208
|
+
* @param period - Report period
|
|
209
|
+
* @returns Investing activities section
|
|
210
|
+
*/
|
|
211
|
+
async buildInvestingActivities(period) {
|
|
212
|
+
// TODO: Implement investing activities
|
|
213
|
+
throw new Error('Not implemented');
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Build financing activities section
|
|
217
|
+
*
|
|
218
|
+
* @param period - Report period
|
|
219
|
+
* @returns Financing activities section
|
|
220
|
+
*/
|
|
221
|
+
async buildFinancingActivities(period) {
|
|
222
|
+
// TODO: Implement financing activities
|
|
223
|
+
throw new Error('Not implemented');
|
|
224
|
+
}
|
|
225
|
+
// =========================================================================
|
|
226
|
+
// Utility Methods
|
|
227
|
+
// =========================================================================
|
|
228
|
+
/**
|
|
229
|
+
* Get fiscal year dates
|
|
230
|
+
*
|
|
231
|
+
* @param year - Calendar year
|
|
232
|
+
* @returns Start and end timestamps for the fiscal year
|
|
233
|
+
*/
|
|
234
|
+
getFiscalYear(year) {
|
|
235
|
+
const startMonth = this.config.fiscalYearStartMonth || 1;
|
|
236
|
+
const start = new Date(year, startMonth - 1, 1).getTime();
|
|
237
|
+
const end = new Date(year + 1, startMonth - 1, 0, 23, 59, 59, 999).getTime();
|
|
238
|
+
return {
|
|
239
|
+
start,
|
|
240
|
+
end,
|
|
241
|
+
label: `FY ${year}`,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Get fiscal quarter dates
|
|
246
|
+
*
|
|
247
|
+
* @param year - Calendar year
|
|
248
|
+
* @param quarter - Quarter (1-4)
|
|
249
|
+
* @returns Start and end timestamps for the quarter
|
|
250
|
+
*/
|
|
251
|
+
getFiscalQuarter(year, quarter) {
|
|
252
|
+
const startMonth = this.config.fiscalYearStartMonth || 1;
|
|
253
|
+
const quarterStartMonth = startMonth + (quarter - 1) * 3 - 1;
|
|
254
|
+
const start = new Date(year, quarterStartMonth, 1).getTime();
|
|
255
|
+
const end = new Date(year, quarterStartMonth + 3, 0, 23, 59, 59, 999).getTime();
|
|
256
|
+
return {
|
|
257
|
+
start,
|
|
258
|
+
end,
|
|
259
|
+
label: `Q${quarter} FY ${year}`,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Get calendar month dates
|
|
264
|
+
*
|
|
265
|
+
* @param year - Calendar year
|
|
266
|
+
* @param month - Month (1-12)
|
|
267
|
+
* @returns Start and end timestamps for the month
|
|
268
|
+
*/
|
|
269
|
+
getMonth(year, month) {
|
|
270
|
+
const start = new Date(year, month - 1, 1).getTime();
|
|
271
|
+
const end = new Date(year, month, 0, 23, 59, 59, 999).getTime();
|
|
272
|
+
const monthNames = [
|
|
273
|
+
'January', 'February', 'March', 'April', 'May', 'June',
|
|
274
|
+
'July', 'August', 'September', 'October', 'November', 'December',
|
|
275
|
+
];
|
|
276
|
+
return {
|
|
277
|
+
start,
|
|
278
|
+
end,
|
|
279
|
+
label: `${monthNames[month - 1]} ${year}`,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Format a currency amount
|
|
284
|
+
*
|
|
285
|
+
* @param amount - Amount in smallest currency unit
|
|
286
|
+
* @param currency - Currency code
|
|
287
|
+
* @returns Formatted string
|
|
288
|
+
*/
|
|
289
|
+
formatCurrency(amount, currency) {
|
|
290
|
+
const curr = currency || this.config.defaultCurrency || 'USD';
|
|
291
|
+
const formatted = (amount / 100).toLocaleString('en-US', {
|
|
292
|
+
style: 'currency',
|
|
293
|
+
currency: curr,
|
|
294
|
+
});
|
|
295
|
+
return formatted;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Calculate percentage change
|
|
299
|
+
*
|
|
300
|
+
* @param current - Current value
|
|
301
|
+
* @param previous - Previous value
|
|
302
|
+
* @returns Percentage change
|
|
303
|
+
*/
|
|
304
|
+
calculatePercentageChange(current, previous) {
|
|
305
|
+
if (previous === 0) {
|
|
306
|
+
return current === 0 ? 0 : 100;
|
|
307
|
+
}
|
|
308
|
+
return ((current - previous) / Math.abs(previous)) * 100;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Generate all standard reports for a period
|
|
312
|
+
*
|
|
313
|
+
* @param period - Report period
|
|
314
|
+
* @returns All financial reports
|
|
315
|
+
*/
|
|
316
|
+
async generateAllReports(period) {
|
|
317
|
+
const [profitAndLoss, balanceSheet, cashFlow] = await Promise.all([
|
|
318
|
+
this.generateProfitAndLoss(period),
|
|
319
|
+
this.generateBalanceSheet(period.end),
|
|
320
|
+
this.generateCashFlow(period),
|
|
321
|
+
]);
|
|
322
|
+
return { profitAndLoss, balanceSheet, cashFlow };
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Report error codes
|
|
327
|
+
*/
|
|
328
|
+
export const ReportErrorCodes = {
|
|
329
|
+
INVALID_PERIOD: 'INVALID_PERIOD',
|
|
330
|
+
NO_DATA: 'NO_DATA',
|
|
331
|
+
BALANCE_MISMATCH: 'BALANCE_MISMATCH',
|
|
332
|
+
MISSING_ACCOUNTS: 'MISSING_ACCOUNTS',
|
|
333
|
+
};
|
|
334
|
+
/**
|
|
335
|
+
* Report error
|
|
336
|
+
*/
|
|
337
|
+
export class ReportError extends Error {
|
|
338
|
+
code;
|
|
339
|
+
details;
|
|
340
|
+
constructor(code, message, details) {
|
|
341
|
+
super(message);
|
|
342
|
+
this.code = code;
|
|
343
|
+
this.details = details;
|
|
344
|
+
this.name = 'ReportError';
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=reports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reports.js","sourceRoot":"","sources":["../../../../do/business/financial/reports.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,254 @@
|
|
|
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
|
+
import type { StripeConnectAccount, StripeAccountType, StripeCapabilities, BankAccount } from '../../../types/financial';
|
|
13
|
+
import type { DigitalObjectRef } from '../../../types/identity';
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for Stripe Connect
|
|
16
|
+
*/
|
|
17
|
+
export interface StripeConnectConfig {
|
|
18
|
+
/** Stripe secret API key */
|
|
19
|
+
secretKey: string;
|
|
20
|
+
/** Webhook signing secret */
|
|
21
|
+
webhookSecret?: string;
|
|
22
|
+
/** Default account type for new accounts */
|
|
23
|
+
defaultAccountType?: StripeAccountType;
|
|
24
|
+
/** Platform country */
|
|
25
|
+
platformCountry?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Options for creating a Connect account
|
|
29
|
+
*/
|
|
30
|
+
export interface CreateAccountOptions {
|
|
31
|
+
/** Business profile information */
|
|
32
|
+
businessProfile?: {
|
|
33
|
+
name?: string;
|
|
34
|
+
url?: string;
|
|
35
|
+
supportEmail?: string;
|
|
36
|
+
supportPhone?: string;
|
|
37
|
+
mcc?: string;
|
|
38
|
+
};
|
|
39
|
+
/** Requested capabilities */
|
|
40
|
+
capabilities?: (keyof StripeCapabilities)[];
|
|
41
|
+
/** Account metadata */
|
|
42
|
+
metadata?: Record<string, string>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Options for creating an account link
|
|
46
|
+
*/
|
|
47
|
+
export interface AccountLinkOptions {
|
|
48
|
+
/** Type of account link */
|
|
49
|
+
type?: 'account_onboarding' | 'account_update';
|
|
50
|
+
/** Collect additional information */
|
|
51
|
+
collect?: 'currently_due' | 'eventually_due';
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Stripe Connect manager for Digital Objects
|
|
55
|
+
*
|
|
56
|
+
* Handles Stripe Connect account lifecycle including creation,
|
|
57
|
+
* onboarding, and capability management.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const connect = new StripeConnect({ secretKey: env.STRIPE_SECRET_KEY })
|
|
62
|
+
*
|
|
63
|
+
* // Create a new connected account
|
|
64
|
+
* const account = await connect.createAccount('express', businessRef, {
|
|
65
|
+
* businessProfile: { name: 'Acme Corp' }
|
|
66
|
+
* })
|
|
67
|
+
*
|
|
68
|
+
* // Generate onboarding link
|
|
69
|
+
* const link = await connect.createAccountLink(
|
|
70
|
+
* account.stripeAccountId,
|
|
71
|
+
* 'https://example.com/return',
|
|
72
|
+
* 'https://example.com/refresh'
|
|
73
|
+
* )
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare class StripeConnect {
|
|
77
|
+
private readonly config;
|
|
78
|
+
/**
|
|
79
|
+
* Create a new StripeConnect instance
|
|
80
|
+
*
|
|
81
|
+
* @param config - Stripe Connect configuration
|
|
82
|
+
*/
|
|
83
|
+
constructor(config: StripeConnectConfig);
|
|
84
|
+
/**
|
|
85
|
+
* Create a new Stripe Connect account
|
|
86
|
+
*
|
|
87
|
+
* @param type - Account type (standard, express, or custom)
|
|
88
|
+
* @param businessRef - Reference to the Business DO
|
|
89
|
+
* @param options - Additional account options
|
|
90
|
+
* @returns The created Connect account
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typescript
|
|
94
|
+
* const account = await connect.createAccount('express', businessRef)
|
|
95
|
+
* console.log(account.stripeAccountId) // 'acct_xxx'
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
createAccount(type: StripeAccountType, businessRef: DigitalObjectRef, options?: CreateAccountOptions): Promise<StripeConnectAccount>;
|
|
99
|
+
/**
|
|
100
|
+
* Retrieve a Connect account by Stripe account ID
|
|
101
|
+
*
|
|
102
|
+
* @param stripeAccountId - The Stripe account ID (acct_xxx)
|
|
103
|
+
* @returns The Connect account or null if not found
|
|
104
|
+
*/
|
|
105
|
+
getAccount(stripeAccountId: string): Promise<StripeConnectAccount | null>;
|
|
106
|
+
/**
|
|
107
|
+
* Update a Connect account
|
|
108
|
+
*
|
|
109
|
+
* @param stripeAccountId - The Stripe account ID
|
|
110
|
+
* @param updates - Fields to update
|
|
111
|
+
* @returns The updated account
|
|
112
|
+
*/
|
|
113
|
+
updateAccount(stripeAccountId: string, updates: Partial<CreateAccountOptions>): Promise<StripeConnectAccount>;
|
|
114
|
+
/**
|
|
115
|
+
* Delete a Connect account
|
|
116
|
+
*
|
|
117
|
+
* @param stripeAccountId - The Stripe account ID
|
|
118
|
+
*/
|
|
119
|
+
deleteAccount(stripeAccountId: string): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Create an account link for onboarding or updates
|
|
122
|
+
*
|
|
123
|
+
* Account links are single-use URLs that redirect the account holder
|
|
124
|
+
* to Stripe-hosted onboarding or account management.
|
|
125
|
+
*
|
|
126
|
+
* @param stripeAccountId - The Stripe account ID
|
|
127
|
+
* @param returnUrl - URL to redirect after completion
|
|
128
|
+
* @param refreshUrl - URL to redirect if link expires
|
|
129
|
+
* @param options - Additional link options
|
|
130
|
+
* @returns The account link URL
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* const url = await connect.createAccountLink(
|
|
135
|
+
* 'acct_xxx',
|
|
136
|
+
* 'https://example.com/onboarding/complete',
|
|
137
|
+
* 'https://example.com/onboarding/refresh'
|
|
138
|
+
* )
|
|
139
|
+
* // Redirect user to url
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
createAccountLink(stripeAccountId: string, returnUrl: string, refreshUrl: string, options?: AccountLinkOptions): Promise<string>;
|
|
143
|
+
/**
|
|
144
|
+
* Create a login link for Express or Custom accounts
|
|
145
|
+
*
|
|
146
|
+
* Login links allow connected account holders to access their
|
|
147
|
+
* Stripe Express dashboard.
|
|
148
|
+
*
|
|
149
|
+
* @param stripeAccountId - The Stripe account ID
|
|
150
|
+
* @returns The login link URL
|
|
151
|
+
*/
|
|
152
|
+
createLoginLink(stripeAccountId: string): Promise<string>;
|
|
153
|
+
/**
|
|
154
|
+
* Get account capabilities
|
|
155
|
+
*
|
|
156
|
+
* @param stripeAccountId - The Stripe account ID
|
|
157
|
+
* @returns Current capabilities and their status
|
|
158
|
+
*/
|
|
159
|
+
getCapabilities(stripeAccountId: string): Promise<StripeCapabilities>;
|
|
160
|
+
/**
|
|
161
|
+
* Request additional capabilities for an account
|
|
162
|
+
*
|
|
163
|
+
* @param stripeAccountId - The Stripe account ID
|
|
164
|
+
* @param capabilities - Capabilities to request
|
|
165
|
+
*/
|
|
166
|
+
requestCapabilities(stripeAccountId: string, capabilities: (keyof StripeCapabilities)[]): Promise<void>;
|
|
167
|
+
/**
|
|
168
|
+
* Add a bank account for payouts
|
|
169
|
+
*
|
|
170
|
+
* @param stripeAccountId - The Stripe account ID
|
|
171
|
+
* @param bankAccountToken - Bank account token from Stripe.js
|
|
172
|
+
* @returns The created bank account
|
|
173
|
+
*/
|
|
174
|
+
addBankAccount(stripeAccountId: string, bankAccountToken: string): Promise<BankAccount>;
|
|
175
|
+
/**
|
|
176
|
+
* List bank accounts for a Connect account
|
|
177
|
+
*
|
|
178
|
+
* @param stripeAccountId - The Stripe account ID
|
|
179
|
+
* @returns List of bank accounts
|
|
180
|
+
*/
|
|
181
|
+
listBankAccounts(stripeAccountId: string): Promise<BankAccount[]>;
|
|
182
|
+
/**
|
|
183
|
+
* Set the default bank account for payouts
|
|
184
|
+
*
|
|
185
|
+
* @param stripeAccountId - The Stripe account ID
|
|
186
|
+
* @param bankAccountId - The bank account ID to set as default
|
|
187
|
+
*/
|
|
188
|
+
setDefaultBankAccount(stripeAccountId: string, bankAccountId: string): Promise<void>;
|
|
189
|
+
/**
|
|
190
|
+
* Delete a bank account
|
|
191
|
+
*
|
|
192
|
+
* @param stripeAccountId - The Stripe account ID
|
|
193
|
+
* @param bankAccountId - The bank account ID to delete
|
|
194
|
+
*/
|
|
195
|
+
deleteBankAccount(stripeAccountId: string, bankAccountId: string): Promise<void>;
|
|
196
|
+
/**
|
|
197
|
+
* Handle a Stripe webhook event
|
|
198
|
+
*
|
|
199
|
+
* Validates the webhook signature and processes account-related events.
|
|
200
|
+
*
|
|
201
|
+
* @param payload - Raw webhook payload
|
|
202
|
+
* @param signature - Stripe-Signature header value
|
|
203
|
+
* @returns Processed event data
|
|
204
|
+
*
|
|
205
|
+
* @example
|
|
206
|
+
* ```typescript
|
|
207
|
+
* app.post('/webhook', async (req, res) => {
|
|
208
|
+
* const event = await connect.handleWebhook(
|
|
209
|
+
* req.body,
|
|
210
|
+
* req.headers['stripe-signature']
|
|
211
|
+
* )
|
|
212
|
+
* // Process event...
|
|
213
|
+
* })
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
handleWebhook(payload: string | ArrayBuffer, signature: string): Promise<{
|
|
217
|
+
type: string;
|
|
218
|
+
data: unknown;
|
|
219
|
+
}>;
|
|
220
|
+
/**
|
|
221
|
+
* Check if an account is fully onboarded and ready for charges
|
|
222
|
+
*
|
|
223
|
+
* @param stripeAccountId - The Stripe account ID
|
|
224
|
+
* @returns True if the account can accept charges
|
|
225
|
+
*/
|
|
226
|
+
isReadyForCharges(stripeAccountId: string): Promise<boolean>;
|
|
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
|
+
isReadyForPayouts(stripeAccountId: string): Promise<boolean>;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Stripe Connect error codes
|
|
237
|
+
*/
|
|
238
|
+
export declare const StripeConnectErrorCodes: {
|
|
239
|
+
readonly ACCOUNT_NOT_FOUND: "ACCOUNT_NOT_FOUND";
|
|
240
|
+
readonly ONBOARDING_INCOMPLETE: "ONBOARDING_INCOMPLETE";
|
|
241
|
+
readonly CAPABILITY_NOT_AVAILABLE: "CAPABILITY_NOT_AVAILABLE";
|
|
242
|
+
readonly BANK_ACCOUNT_INVALID: "BANK_ACCOUNT_INVALID";
|
|
243
|
+
readonly WEBHOOK_SIGNATURE_INVALID: "WEBHOOK_SIGNATURE_INVALID";
|
|
244
|
+
};
|
|
245
|
+
export type StripeConnectErrorCode = typeof StripeConnectErrorCodes[keyof typeof StripeConnectErrorCodes];
|
|
246
|
+
/**
|
|
247
|
+
* Stripe Connect error
|
|
248
|
+
*/
|
|
249
|
+
export declare class StripeConnectError extends Error {
|
|
250
|
+
readonly code: StripeConnectErrorCode;
|
|
251
|
+
readonly details?: unknown | undefined;
|
|
252
|
+
constructor(code: StripeConnectErrorCode, message: string, details?: unknown | undefined);
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=stripe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../../../do/business/financial/stripe.ts"],"names":[],"mappings":"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"}
|