@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,708 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tenant DO - Data Isolation with $context to SaaS
|
|
3
|
+
*
|
|
4
|
+
* Isolated tenant within a SaaS application. Each tenant is its own DO
|
|
5
|
+
* with complete data isolation and scoped access.
|
|
6
|
+
*
|
|
7
|
+
* Key capabilities:
|
|
8
|
+
* - Complete data isolation from other tenants
|
|
9
|
+
* - $context links to parent SaaS DO
|
|
10
|
+
* - Tenant-specific users and permissions
|
|
11
|
+
* - Audit logging for compliance
|
|
12
|
+
* - Data export for portability
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const tenant: TenantDO = {
|
|
17
|
+
* $id: 'https://crm.headless.ly/acme',
|
|
18
|
+
* $type: 'Tenant',
|
|
19
|
+
* $context: 'https://crm.headless.ly',
|
|
20
|
+
* $version: 1,
|
|
21
|
+
* $createdAt: Date.now(),
|
|
22
|
+
* $updatedAt: Date.now(),
|
|
23
|
+
* name: 'Acme Corp',
|
|
24
|
+
* slug: 'acme',
|
|
25
|
+
* plan: 'enterprise',
|
|
26
|
+
* status: 'Active'
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
import type { DigitalObjectIdentity, DigitalObjectRef } from './identity';
|
|
31
|
+
import type { CollectionMethods, User, Role, ListOptions, ListResult } from './collections';
|
|
32
|
+
/**
|
|
33
|
+
* Tenant status
|
|
34
|
+
*/
|
|
35
|
+
export type TenantStatus = 'Provisioning' | 'Trial' | 'Active' | 'PastDue' | 'Suspended' | 'Cancelled';
|
|
36
|
+
/**
|
|
37
|
+
* Tenant DO configuration extending base identity
|
|
38
|
+
*/
|
|
39
|
+
export interface TenantDO extends DigitalObjectIdentity {
|
|
40
|
+
/** Always 'Tenant' for this DO type */
|
|
41
|
+
$type: 'Tenant';
|
|
42
|
+
/** Parent SaaS DO reference (required) */
|
|
43
|
+
$context: DigitalObjectRef;
|
|
44
|
+
/** Tenant name */
|
|
45
|
+
name: string;
|
|
46
|
+
/** URL-friendly slug */
|
|
47
|
+
slug: string;
|
|
48
|
+
/** Current plan */
|
|
49
|
+
plan: string;
|
|
50
|
+
/** Current status */
|
|
51
|
+
status: TenantStatus;
|
|
52
|
+
/** Owner user ID */
|
|
53
|
+
ownerId: string;
|
|
54
|
+
/** Tenant settings */
|
|
55
|
+
settings: TenantSettings;
|
|
56
|
+
/** Branding configuration */
|
|
57
|
+
branding?: TenantBranding;
|
|
58
|
+
/** Custom domain (if enabled) */
|
|
59
|
+
customDomain?: string;
|
|
60
|
+
/** Trial end date (if in trial) */
|
|
61
|
+
trialEndsAt?: number;
|
|
62
|
+
/** Tenant metadata */
|
|
63
|
+
metadata?: TenantMetadata;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Tenant settings
|
|
67
|
+
*/
|
|
68
|
+
export interface TenantSettings {
|
|
69
|
+
/** Timezone */
|
|
70
|
+
timezone: string;
|
|
71
|
+
/** Locale */
|
|
72
|
+
locale: string;
|
|
73
|
+
/** Date format */
|
|
74
|
+
dateFormat: string;
|
|
75
|
+
/** Time format */
|
|
76
|
+
timeFormat: '12h' | '24h';
|
|
77
|
+
/** Currency */
|
|
78
|
+
currency: string;
|
|
79
|
+
/** Week start day */
|
|
80
|
+
weekStartDay: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
81
|
+
/** Default user role */
|
|
82
|
+
defaultUserRole?: string;
|
|
83
|
+
/** Require 2FA */
|
|
84
|
+
require2FA?: boolean;
|
|
85
|
+
/** Session timeout (minutes) */
|
|
86
|
+
sessionTimeout?: number;
|
|
87
|
+
/** IP allowlist */
|
|
88
|
+
ipAllowlist?: string[];
|
|
89
|
+
/** Custom settings */
|
|
90
|
+
custom?: Record<string, unknown>;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Tenant branding configuration
|
|
94
|
+
*/
|
|
95
|
+
export interface TenantBranding {
|
|
96
|
+
/** Logo URL */
|
|
97
|
+
logo?: string;
|
|
98
|
+
/** Favicon URL */
|
|
99
|
+
favicon?: string;
|
|
100
|
+
/** Primary color */
|
|
101
|
+
primaryColor?: string;
|
|
102
|
+
/** Accent color */
|
|
103
|
+
accentColor?: string;
|
|
104
|
+
/** Background color */
|
|
105
|
+
backgroundColor?: string;
|
|
106
|
+
/** Custom CSS */
|
|
107
|
+
customCSS?: string;
|
|
108
|
+
/** Email branding */
|
|
109
|
+
email?: {
|
|
110
|
+
logo?: string;
|
|
111
|
+
footerText?: string;
|
|
112
|
+
replyTo?: string;
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Tenant metadata
|
|
117
|
+
*/
|
|
118
|
+
export interface TenantMetadata {
|
|
119
|
+
/** Industry */
|
|
120
|
+
industry?: string;
|
|
121
|
+
/** Company size */
|
|
122
|
+
companySize?: 'solo' | 'small' | 'medium' | 'large' | 'enterprise';
|
|
123
|
+
/** Country */
|
|
124
|
+
country?: string;
|
|
125
|
+
/** Referred by */
|
|
126
|
+
referredBy?: string;
|
|
127
|
+
/** Tags */
|
|
128
|
+
tags?: string[];
|
|
129
|
+
/** Custom labels */
|
|
130
|
+
labels?: Record<string, string>;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Tenant user (extends base User with tenant-specific fields)
|
|
134
|
+
*/
|
|
135
|
+
export interface TenantUser extends User {
|
|
136
|
+
/** Tenant ID (matches parent DO) */
|
|
137
|
+
tenantId: string;
|
|
138
|
+
/** User status within tenant */
|
|
139
|
+
status: 'Pending' | 'Active' | 'Suspended' | 'Removed';
|
|
140
|
+
/** Invited by user ID */
|
|
141
|
+
invitedBy?: string;
|
|
142
|
+
/** Invitation accepted at */
|
|
143
|
+
invitationAcceptedAt?: number;
|
|
144
|
+
/** Department */
|
|
145
|
+
department?: string;
|
|
146
|
+
/** Job title */
|
|
147
|
+
jobTitle?: string;
|
|
148
|
+
/** Avatar URL */
|
|
149
|
+
avatar?: string;
|
|
150
|
+
/** 2FA enabled */
|
|
151
|
+
twoFactorEnabled?: boolean;
|
|
152
|
+
/** Notification preferences */
|
|
153
|
+
notificationPreferences?: NotificationPreferences;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Notification preferences
|
|
157
|
+
*/
|
|
158
|
+
export interface NotificationPreferences {
|
|
159
|
+
/** Email notifications */
|
|
160
|
+
email: boolean;
|
|
161
|
+
/** Push notifications */
|
|
162
|
+
push: boolean;
|
|
163
|
+
/** In-app notifications */
|
|
164
|
+
inApp: boolean;
|
|
165
|
+
/** Digest frequency */
|
|
166
|
+
digestFrequency?: 'none' | 'daily' | 'weekly';
|
|
167
|
+
/** Notification types to receive */
|
|
168
|
+
types?: string[];
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Tenant role (extends base Role with tenant-specific fields)
|
|
172
|
+
*/
|
|
173
|
+
export interface TenantRole extends Role {
|
|
174
|
+
/** Tenant ID */
|
|
175
|
+
tenantId: string;
|
|
176
|
+
/** Is this the default role */
|
|
177
|
+
isDefault?: boolean;
|
|
178
|
+
/** Is this the owner role */
|
|
179
|
+
isOwner?: boolean;
|
|
180
|
+
/** Can this role be deleted */
|
|
181
|
+
deletable?: boolean;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* User invitation
|
|
185
|
+
*/
|
|
186
|
+
export interface Invitation {
|
|
187
|
+
/** Invitation ID */
|
|
188
|
+
id: string;
|
|
189
|
+
/** Invitee email */
|
|
190
|
+
email: string;
|
|
191
|
+
/** Role to assign */
|
|
192
|
+
roleId: string;
|
|
193
|
+
/** Invited by user ID */
|
|
194
|
+
invitedBy: string;
|
|
195
|
+
/** Status */
|
|
196
|
+
status: 'Pending' | 'Accepted' | 'Expired' | 'Revoked';
|
|
197
|
+
/** Invitation token */
|
|
198
|
+
token: string;
|
|
199
|
+
/** Expires at */
|
|
200
|
+
expiresAt: number;
|
|
201
|
+
/** Accepted at */
|
|
202
|
+
acceptedAt?: number;
|
|
203
|
+
/** Created timestamp */
|
|
204
|
+
createdAt: number;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Generic tenant data record
|
|
208
|
+
*
|
|
209
|
+
* Tenant DO can store arbitrary collections of data.
|
|
210
|
+
* Each collection is isolated to this tenant.
|
|
211
|
+
*/
|
|
212
|
+
export interface TenantDataRecord {
|
|
213
|
+
/** Record ID */
|
|
214
|
+
id: string;
|
|
215
|
+
/** Collection name */
|
|
216
|
+
collection: string;
|
|
217
|
+
/** Record data */
|
|
218
|
+
data: Record<string, unknown>;
|
|
219
|
+
/** Created by user ID */
|
|
220
|
+
createdBy?: string;
|
|
221
|
+
/** Updated by user ID */
|
|
222
|
+
updatedBy?: string;
|
|
223
|
+
/** Created timestamp */
|
|
224
|
+
createdAt: number;
|
|
225
|
+
/** Updated timestamp */
|
|
226
|
+
updatedAt: number;
|
|
227
|
+
/** Deleted timestamp (soft delete) */
|
|
228
|
+
deletedAt?: number;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Audit log entry
|
|
232
|
+
*/
|
|
233
|
+
export interface AuditLogEntry {
|
|
234
|
+
/** Entry ID */
|
|
235
|
+
id: string;
|
|
236
|
+
/** Actor (user or system) */
|
|
237
|
+
actor: {
|
|
238
|
+
type: 'user' | 'system' | 'api';
|
|
239
|
+
id: string;
|
|
240
|
+
name?: string;
|
|
241
|
+
ip?: string;
|
|
242
|
+
};
|
|
243
|
+
/** Action performed */
|
|
244
|
+
action: string;
|
|
245
|
+
/** Resource type */
|
|
246
|
+
resourceType: string;
|
|
247
|
+
/** Resource ID */
|
|
248
|
+
resourceId?: string;
|
|
249
|
+
/** Changes made */
|
|
250
|
+
changes?: {
|
|
251
|
+
field: string;
|
|
252
|
+
oldValue?: unknown;
|
|
253
|
+
newValue?: unknown;
|
|
254
|
+
}[];
|
|
255
|
+
/** Request metadata */
|
|
256
|
+
request?: {
|
|
257
|
+
id: string;
|
|
258
|
+
method?: string;
|
|
259
|
+
path?: string;
|
|
260
|
+
userAgent?: string;
|
|
261
|
+
};
|
|
262
|
+
/** Timestamp */
|
|
263
|
+
timestamp: number;
|
|
264
|
+
/** Additional metadata */
|
|
265
|
+
metadata?: Record<string, unknown>;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Activity log entry (user-facing activity feed)
|
|
269
|
+
*/
|
|
270
|
+
export interface ActivityLogEntry {
|
|
271
|
+
/** Entry ID */
|
|
272
|
+
id: string;
|
|
273
|
+
/** User who performed the action */
|
|
274
|
+
userId: string;
|
|
275
|
+
/** User name */
|
|
276
|
+
userName?: string;
|
|
277
|
+
/** Action type */
|
|
278
|
+
action: string;
|
|
279
|
+
/** Human-readable description */
|
|
280
|
+
description: string;
|
|
281
|
+
/** Related resource */
|
|
282
|
+
resource?: {
|
|
283
|
+
type: string;
|
|
284
|
+
id: string;
|
|
285
|
+
name?: string;
|
|
286
|
+
};
|
|
287
|
+
/** Timestamp */
|
|
288
|
+
timestamp: number;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Data export request
|
|
292
|
+
*/
|
|
293
|
+
export interface ExportRequest {
|
|
294
|
+
/** Request ID */
|
|
295
|
+
id: string;
|
|
296
|
+
/** Collections to export */
|
|
297
|
+
collections: string[] | 'all';
|
|
298
|
+
/** Format */
|
|
299
|
+
format: 'json' | 'csv' | 'ndjson';
|
|
300
|
+
/** Include deleted records */
|
|
301
|
+
includeDeleted?: boolean;
|
|
302
|
+
/** Date range start */
|
|
303
|
+
startDate?: number;
|
|
304
|
+
/** Date range end */
|
|
305
|
+
endDate?: number;
|
|
306
|
+
/** Status */
|
|
307
|
+
status: 'Pending' | 'Processing' | 'Completed' | 'Failed';
|
|
308
|
+
/** Download URL (when completed) */
|
|
309
|
+
downloadUrl?: string;
|
|
310
|
+
/** Expires at */
|
|
311
|
+
expiresAt?: number;
|
|
312
|
+
/** Error message (if failed) */
|
|
313
|
+
error?: string;
|
|
314
|
+
/** Requested by user ID */
|
|
315
|
+
requestedBy: string;
|
|
316
|
+
/** Created timestamp */
|
|
317
|
+
createdAt: number;
|
|
318
|
+
/** Completed timestamp */
|
|
319
|
+
completedAt?: number;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Tenant DO collections
|
|
323
|
+
*/
|
|
324
|
+
export interface TenantCollections {
|
|
325
|
+
/** Tenant users */
|
|
326
|
+
users: CollectionMethods<TenantUser>;
|
|
327
|
+
/** Tenant roles */
|
|
328
|
+
roles: CollectionMethods<TenantRole>;
|
|
329
|
+
/** User invitations */
|
|
330
|
+
invitations: CollectionMethods<Invitation>;
|
|
331
|
+
/** Audit log */
|
|
332
|
+
auditLog: CollectionMethods<AuditLogEntry>;
|
|
333
|
+
/** Activity log */
|
|
334
|
+
activityLog: CollectionMethods<ActivityLogEntry>;
|
|
335
|
+
/** Export requests */
|
|
336
|
+
exports: CollectionMethods<ExportRequest>;
|
|
337
|
+
/**
|
|
338
|
+
* Dynamic data collections
|
|
339
|
+
* Access via: tenant.data('collectionName').list()
|
|
340
|
+
*/
|
|
341
|
+
data: (collection: string) => CollectionMethods<TenantDataRecord>;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Settings update options
|
|
345
|
+
*/
|
|
346
|
+
export interface UpdateSettingsOptions {
|
|
347
|
+
/** Settings to update (partial) */
|
|
348
|
+
settings?: Partial<TenantSettings>;
|
|
349
|
+
/** Branding to update (partial) */
|
|
350
|
+
branding?: Partial<TenantBranding>;
|
|
351
|
+
/** Metadata to update (partial) */
|
|
352
|
+
metadata?: Partial<TenantMetadata>;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* User invitation options
|
|
356
|
+
*/
|
|
357
|
+
export interface InviteUserOptions {
|
|
358
|
+
/** Invitee email */
|
|
359
|
+
email: string;
|
|
360
|
+
/** Role to assign */
|
|
361
|
+
roleId: string;
|
|
362
|
+
/** Custom message */
|
|
363
|
+
message?: string;
|
|
364
|
+
/** Skip sending email */
|
|
365
|
+
skipEmail?: boolean;
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Audit query options
|
|
369
|
+
*/
|
|
370
|
+
export interface AuditQueryOptions extends ListOptions {
|
|
371
|
+
/** Filter by actor */
|
|
372
|
+
actorId?: string;
|
|
373
|
+
/** Filter by action */
|
|
374
|
+
action?: string;
|
|
375
|
+
/** Filter by resource type */
|
|
376
|
+
resourceType?: string;
|
|
377
|
+
/** Filter by resource ID */
|
|
378
|
+
resourceId?: string;
|
|
379
|
+
/** Start date */
|
|
380
|
+
startDate?: number;
|
|
381
|
+
/** End date */
|
|
382
|
+
endDate?: number;
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Export options
|
|
386
|
+
*/
|
|
387
|
+
export interface ExportOptions {
|
|
388
|
+
/** Collections to export */
|
|
389
|
+
collections: string[] | 'all';
|
|
390
|
+
/** Format */
|
|
391
|
+
format: 'json' | 'csv' | 'ndjson';
|
|
392
|
+
/** Include deleted records */
|
|
393
|
+
includeDeleted?: boolean;
|
|
394
|
+
/** Date range start */
|
|
395
|
+
startDate?: number;
|
|
396
|
+
/** Date range end */
|
|
397
|
+
endDate?: number;
|
|
398
|
+
/** Encryption key (for encrypted export) */
|
|
399
|
+
encryptionKey?: string;
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Tenant DO RPC methods
|
|
403
|
+
*/
|
|
404
|
+
export interface TenantRPCMethods {
|
|
405
|
+
/**
|
|
406
|
+
* Get tenant settings
|
|
407
|
+
*/
|
|
408
|
+
'tenant.settings.get': () => Promise<TenantSettings>;
|
|
409
|
+
/**
|
|
410
|
+
* Update tenant settings
|
|
411
|
+
*/
|
|
412
|
+
'tenant.settings.update': (options: UpdateSettingsOptions) => Promise<TenantDO>;
|
|
413
|
+
/**
|
|
414
|
+
* Get branding
|
|
415
|
+
*/
|
|
416
|
+
'tenant.branding.get': () => Promise<TenantBranding | null>;
|
|
417
|
+
/**
|
|
418
|
+
* Update branding
|
|
419
|
+
*/
|
|
420
|
+
'tenant.branding.update': (branding: Partial<TenantBranding>) => Promise<TenantBranding>;
|
|
421
|
+
/**
|
|
422
|
+
* Set custom domain
|
|
423
|
+
*/
|
|
424
|
+
'tenant.domain.set': (domain: string) => Promise<{
|
|
425
|
+
domain: string;
|
|
426
|
+
verified: boolean;
|
|
427
|
+
dnsRecords: Array<{
|
|
428
|
+
type: string;
|
|
429
|
+
name: string;
|
|
430
|
+
value: string;
|
|
431
|
+
}>;
|
|
432
|
+
}>;
|
|
433
|
+
/**
|
|
434
|
+
* Verify custom domain
|
|
435
|
+
*/
|
|
436
|
+
'tenant.domain.verify': () => Promise<{
|
|
437
|
+
verified: boolean;
|
|
438
|
+
error?: string;
|
|
439
|
+
}>;
|
|
440
|
+
/**
|
|
441
|
+
* Invite user to tenant
|
|
442
|
+
*/
|
|
443
|
+
'tenant.users.invite': (options: InviteUserOptions) => Promise<Invitation>;
|
|
444
|
+
/**
|
|
445
|
+
* Resend invitation
|
|
446
|
+
*/
|
|
447
|
+
'tenant.users.resendInvite': (invitationId: string) => Promise<Invitation>;
|
|
448
|
+
/**
|
|
449
|
+
* Revoke invitation
|
|
450
|
+
*/
|
|
451
|
+
'tenant.users.revokeInvite': (invitationId: string) => Promise<void>;
|
|
452
|
+
/**
|
|
453
|
+
* Accept invitation
|
|
454
|
+
*/
|
|
455
|
+
'tenant.users.acceptInvite': (token: string) => Promise<TenantUser>;
|
|
456
|
+
/**
|
|
457
|
+
* Update user role
|
|
458
|
+
*/
|
|
459
|
+
'tenant.users.updateRole': (userId: string, roleId: string) => Promise<TenantUser>;
|
|
460
|
+
/**
|
|
461
|
+
* Suspend user
|
|
462
|
+
*/
|
|
463
|
+
'tenant.users.suspend': (userId: string, reason?: string) => Promise<TenantUser>;
|
|
464
|
+
/**
|
|
465
|
+
* Reactivate user
|
|
466
|
+
*/
|
|
467
|
+
'tenant.users.reactivate': (userId: string) => Promise<TenantUser>;
|
|
468
|
+
/**
|
|
469
|
+
* Remove user from tenant
|
|
470
|
+
*/
|
|
471
|
+
'tenant.users.remove': (userId: string) => Promise<void>;
|
|
472
|
+
/**
|
|
473
|
+
* Transfer ownership
|
|
474
|
+
*/
|
|
475
|
+
'tenant.users.transferOwnership': (newOwnerId: string) => Promise<TenantDO>;
|
|
476
|
+
/**
|
|
477
|
+
* Create custom role
|
|
478
|
+
*/
|
|
479
|
+
'tenant.roles.create': (role: Omit<TenantRole, 'id' | 'tenantId'>) => Promise<TenantRole>;
|
|
480
|
+
/**
|
|
481
|
+
* Update role
|
|
482
|
+
*/
|
|
483
|
+
'tenant.roles.update': (roleId: string, data: Partial<TenantRole>) => Promise<TenantRole>;
|
|
484
|
+
/**
|
|
485
|
+
* Delete role
|
|
486
|
+
*/
|
|
487
|
+
'tenant.roles.delete': (roleId: string) => Promise<void>;
|
|
488
|
+
/**
|
|
489
|
+
* Set default role
|
|
490
|
+
*/
|
|
491
|
+
'tenant.roles.setDefault': (roleId: string) => Promise<TenantRole>;
|
|
492
|
+
/**
|
|
493
|
+
* Query audit log
|
|
494
|
+
*/
|
|
495
|
+
'tenant.audit.query': (options?: AuditQueryOptions) => Promise<ListResult<AuditLogEntry>>;
|
|
496
|
+
/**
|
|
497
|
+
* Get audit entry
|
|
498
|
+
*/
|
|
499
|
+
'tenant.audit.get': (entryId: string) => Promise<AuditLogEntry | null>;
|
|
500
|
+
/**
|
|
501
|
+
* Get activity feed
|
|
502
|
+
*/
|
|
503
|
+
'tenant.audit.activity': (options?: ListOptions) => Promise<ListResult<ActivityLogEntry>>;
|
|
504
|
+
/**
|
|
505
|
+
* List data collections
|
|
506
|
+
*/
|
|
507
|
+
'tenant.data.collections': () => Promise<string[]>;
|
|
508
|
+
/**
|
|
509
|
+
* Get collection stats
|
|
510
|
+
*/
|
|
511
|
+
'tenant.data.stats': (collection?: string) => Promise<{
|
|
512
|
+
collections: Record<string, {
|
|
513
|
+
count: number;
|
|
514
|
+
sizeBytes: number;
|
|
515
|
+
}>;
|
|
516
|
+
totalRecords: number;
|
|
517
|
+
totalSizeBytes: number;
|
|
518
|
+
}>;
|
|
519
|
+
/**
|
|
520
|
+
* Query data collection
|
|
521
|
+
*/
|
|
522
|
+
'tenant.data.query': (collection: string, options?: ListOptions & {
|
|
523
|
+
filter?: Record<string, unknown>;
|
|
524
|
+
}) => Promise<ListResult<TenantDataRecord>>;
|
|
525
|
+
/**
|
|
526
|
+
* Request data export
|
|
527
|
+
*/
|
|
528
|
+
'tenant.export.request': (options: ExportOptions) => Promise<ExportRequest>;
|
|
529
|
+
/**
|
|
530
|
+
* Get export status
|
|
531
|
+
*/
|
|
532
|
+
'tenant.export.status': (exportId: string) => Promise<ExportRequest>;
|
|
533
|
+
/**
|
|
534
|
+
* List exports
|
|
535
|
+
*/
|
|
536
|
+
'tenant.export.list': () => Promise<ExportRequest[]>;
|
|
537
|
+
/**
|
|
538
|
+
* Download export
|
|
539
|
+
*/
|
|
540
|
+
'tenant.export.download': (exportId: string) => Promise<{
|
|
541
|
+
url: string;
|
|
542
|
+
expiresAt: number;
|
|
543
|
+
}>;
|
|
544
|
+
/**
|
|
545
|
+
* Get tenant info
|
|
546
|
+
*/
|
|
547
|
+
'tenant.info': () => Promise<TenantDO>;
|
|
548
|
+
/**
|
|
549
|
+
* Get usage stats
|
|
550
|
+
*/
|
|
551
|
+
'tenant.usage': () => Promise<{
|
|
552
|
+
users: number;
|
|
553
|
+
records: number;
|
|
554
|
+
storageBytes: number;
|
|
555
|
+
apiCalls: number;
|
|
556
|
+
period: {
|
|
557
|
+
start: number;
|
|
558
|
+
end: number;
|
|
559
|
+
};
|
|
560
|
+
}>;
|
|
561
|
+
/**
|
|
562
|
+
* Delete tenant (soft delete)
|
|
563
|
+
*/
|
|
564
|
+
'tenant.delete': () => Promise<void>;
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Tenant CDC event types
|
|
568
|
+
*/
|
|
569
|
+
export type TenantCDCEvent = {
|
|
570
|
+
type: 'Tenant.Settings.updated';
|
|
571
|
+
payload: {
|
|
572
|
+
changes: string[];
|
|
573
|
+
};
|
|
574
|
+
} | {
|
|
575
|
+
type: 'Tenant.Branding.updated';
|
|
576
|
+
payload: {
|
|
577
|
+
changes: string[];
|
|
578
|
+
};
|
|
579
|
+
} | {
|
|
580
|
+
type: 'Tenant.Domain.set';
|
|
581
|
+
payload: {
|
|
582
|
+
domain: string;
|
|
583
|
+
};
|
|
584
|
+
} | {
|
|
585
|
+
type: 'Tenant.Domain.verified';
|
|
586
|
+
payload: {
|
|
587
|
+
domain: string;
|
|
588
|
+
};
|
|
589
|
+
} | {
|
|
590
|
+
type: 'Tenant.User.invited';
|
|
591
|
+
payload: {
|
|
592
|
+
email: string;
|
|
593
|
+
roleId: string;
|
|
594
|
+
};
|
|
595
|
+
} | {
|
|
596
|
+
type: 'Tenant.User.joined';
|
|
597
|
+
payload: {
|
|
598
|
+
userId: string;
|
|
599
|
+
email: string;
|
|
600
|
+
};
|
|
601
|
+
} | {
|
|
602
|
+
type: 'Tenant.User.updated';
|
|
603
|
+
payload: {
|
|
604
|
+
userId: string;
|
|
605
|
+
changes: string[];
|
|
606
|
+
};
|
|
607
|
+
} | {
|
|
608
|
+
type: 'Tenant.User.suspended';
|
|
609
|
+
payload: {
|
|
610
|
+
userId: string;
|
|
611
|
+
reason?: string;
|
|
612
|
+
};
|
|
613
|
+
} | {
|
|
614
|
+
type: 'Tenant.User.reactivated';
|
|
615
|
+
payload: {
|
|
616
|
+
userId: string;
|
|
617
|
+
};
|
|
618
|
+
} | {
|
|
619
|
+
type: 'Tenant.User.removed';
|
|
620
|
+
payload: {
|
|
621
|
+
userId: string;
|
|
622
|
+
};
|
|
623
|
+
} | {
|
|
624
|
+
type: 'Tenant.Role.created';
|
|
625
|
+
payload: {
|
|
626
|
+
roleId: string;
|
|
627
|
+
name: string;
|
|
628
|
+
};
|
|
629
|
+
} | {
|
|
630
|
+
type: 'Tenant.Role.updated';
|
|
631
|
+
payload: {
|
|
632
|
+
roleId: string;
|
|
633
|
+
changes: string[];
|
|
634
|
+
};
|
|
635
|
+
} | {
|
|
636
|
+
type: 'Tenant.Role.deleted';
|
|
637
|
+
payload: {
|
|
638
|
+
roleId: string;
|
|
639
|
+
};
|
|
640
|
+
} | {
|
|
641
|
+
type: 'Tenant.Data.created';
|
|
642
|
+
payload: {
|
|
643
|
+
collection: string;
|
|
644
|
+
recordId: string;
|
|
645
|
+
};
|
|
646
|
+
} | {
|
|
647
|
+
type: 'Tenant.Data.updated';
|
|
648
|
+
payload: {
|
|
649
|
+
collection: string;
|
|
650
|
+
recordId: string;
|
|
651
|
+
changes: string[];
|
|
652
|
+
};
|
|
653
|
+
} | {
|
|
654
|
+
type: 'Tenant.Data.deleted';
|
|
655
|
+
payload: {
|
|
656
|
+
collection: string;
|
|
657
|
+
recordId: string;
|
|
658
|
+
};
|
|
659
|
+
} | {
|
|
660
|
+
type: 'Tenant.Export.requested';
|
|
661
|
+
payload: {
|
|
662
|
+
exportId: string;
|
|
663
|
+
collections: string[];
|
|
664
|
+
};
|
|
665
|
+
} | {
|
|
666
|
+
type: 'Tenant.Export.completed';
|
|
667
|
+
payload: {
|
|
668
|
+
exportId: string;
|
|
669
|
+
};
|
|
670
|
+
} | {
|
|
671
|
+
type: 'Tenant.Deleted';
|
|
672
|
+
payload: {
|
|
673
|
+
tenantId: string;
|
|
674
|
+
};
|
|
675
|
+
};
|
|
676
|
+
/**
|
|
677
|
+
* Check if entity is a TenantDO
|
|
678
|
+
*/
|
|
679
|
+
export declare function isTenantDO(obj: unknown): obj is TenantDO;
|
|
680
|
+
/**
|
|
681
|
+
* Check if tenant is active
|
|
682
|
+
*/
|
|
683
|
+
export declare function isTenantActive(tenant: TenantDO): boolean;
|
|
684
|
+
/**
|
|
685
|
+
* Check if tenant is in trial
|
|
686
|
+
*/
|
|
687
|
+
export declare function isTenantInTrial(tenant: TenantDO): boolean;
|
|
688
|
+
/**
|
|
689
|
+
* Check if trial is expired
|
|
690
|
+
*/
|
|
691
|
+
export declare function isTrialExpired(tenant: TenantDO): boolean;
|
|
692
|
+
/**
|
|
693
|
+
* Check if user is tenant owner
|
|
694
|
+
*/
|
|
695
|
+
export declare function isUserOwner(user: TenantUser, tenant: TenantDO): boolean;
|
|
696
|
+
/**
|
|
697
|
+
* Check if invitation is valid
|
|
698
|
+
*/
|
|
699
|
+
export declare function isInvitationValid(invitation: Invitation): boolean;
|
|
700
|
+
/**
|
|
701
|
+
* Default tenant settings
|
|
702
|
+
*/
|
|
703
|
+
export declare const DEFAULT_TENANT_SETTINGS: TenantSettings;
|
|
704
|
+
/**
|
|
705
|
+
* Default tenant branding
|
|
706
|
+
*/
|
|
707
|
+
export declare const DEFAULT_TENANT_BRANDING: TenantBranding;
|
|
708
|
+
//# sourceMappingURL=tenant.d.ts.map
|