@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,377 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database Backend Types
|
|
3
|
+
*
|
|
4
|
+
* DB4.AI - The 4 Database Paradigms:
|
|
5
|
+
* 1. Relational - SQL, tables, ACID transactions
|
|
6
|
+
* 2. Document - JSON documents, flexible schemas
|
|
7
|
+
* 3. Graph - Nodes, edges, relationships
|
|
8
|
+
* 4. Analytics - Columnar, OLAP, time-series
|
|
9
|
+
*
|
|
10
|
+
* Modular database backends (separate DOs to avoid bloat)
|
|
11
|
+
* Base DO uses db4 internally, others loaded on demand
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* The 4 database paradigms (DB4.AI)
|
|
15
|
+
*/
|
|
16
|
+
export type DatabaseParadigm = 'relational' | 'document' | 'graph' | 'analytics';
|
|
17
|
+
/**
|
|
18
|
+
* Available database backends
|
|
19
|
+
* Each is a separate DO that can be loaded on demand
|
|
20
|
+
*/
|
|
21
|
+
export type DatabaseBackend = 'db4' | 'dosql' | 'postgres' | 'sqlite' | 'mongo' | 'evodb' | 'graphdb' | 'sdb' | 'duckdb';
|
|
22
|
+
/**
|
|
23
|
+
* Database capabilities - what each backend supports
|
|
24
|
+
*/
|
|
25
|
+
export interface DatabaseCapabilities {
|
|
26
|
+
/** Which paradigms this backend supports */
|
|
27
|
+
paradigms: DatabaseParadigm[];
|
|
28
|
+
supportsSQL: boolean;
|
|
29
|
+
supportsDocument: boolean;
|
|
30
|
+
supportsGraph: boolean;
|
|
31
|
+
supportsVector: boolean;
|
|
32
|
+
supportsSearch: boolean;
|
|
33
|
+
supportsAnalytics: boolean;
|
|
34
|
+
supportsTimeTravel: boolean;
|
|
35
|
+
supportsBranching: boolean;
|
|
36
|
+
supportsTransactions: boolean;
|
|
37
|
+
maxQueryTimeout: number;
|
|
38
|
+
maxStorageBytes?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Common interface all database backends implement
|
|
42
|
+
*/
|
|
43
|
+
export interface DatabaseDO {
|
|
44
|
+
/** Handle HTTP requests (REST API) */
|
|
45
|
+
fetch(request: Request): Promise<Response>;
|
|
46
|
+
/** Get backend capabilities */
|
|
47
|
+
capabilities(): DatabaseCapabilities;
|
|
48
|
+
/** Execute a query */
|
|
49
|
+
query<T = unknown>(sql: string, params?: unknown[]): Promise<QueryResult<T>>;
|
|
50
|
+
/** Execute multiple queries in a transaction */
|
|
51
|
+
transaction<T>(fn: (tx: Transaction) => Promise<T>): Promise<T>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Query result
|
|
55
|
+
*/
|
|
56
|
+
export interface QueryResult<T = unknown> {
|
|
57
|
+
rows: T[];
|
|
58
|
+
rowCount: number;
|
|
59
|
+
fields?: FieldInfo[];
|
|
60
|
+
duration?: number;
|
|
61
|
+
}
|
|
62
|
+
export interface FieldInfo {
|
|
63
|
+
name: string;
|
|
64
|
+
type: string;
|
|
65
|
+
nullable?: boolean;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Transaction handle
|
|
69
|
+
*/
|
|
70
|
+
export interface Transaction {
|
|
71
|
+
query<T = unknown>(sql: string, params?: unknown[]): Promise<QueryResult<T>>;
|
|
72
|
+
commit(): Promise<void>;
|
|
73
|
+
rollback(): Promise<void>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* db4 table definition
|
|
77
|
+
*/
|
|
78
|
+
export interface TableDefinition {
|
|
79
|
+
name: string;
|
|
80
|
+
columns: ColumnDefinition[];
|
|
81
|
+
primaryKey: string[];
|
|
82
|
+
indexes?: IndexDefinition[];
|
|
83
|
+
}
|
|
84
|
+
export interface ColumnDefinition {
|
|
85
|
+
name: string;
|
|
86
|
+
type: ColumnType;
|
|
87
|
+
nullable?: boolean;
|
|
88
|
+
default?: unknown;
|
|
89
|
+
unique?: boolean;
|
|
90
|
+
references?: ForeignKeyReference;
|
|
91
|
+
}
|
|
92
|
+
export type ColumnType = 'text' | 'integer' | 'real' | 'blob' | 'boolean' | 'timestamp' | 'json' | 'uuid';
|
|
93
|
+
export interface ForeignKeyReference {
|
|
94
|
+
table: string;
|
|
95
|
+
column: string;
|
|
96
|
+
onDelete?: 'cascade' | 'restrict' | 'set null';
|
|
97
|
+
onUpdate?: 'cascade' | 'restrict' | 'set null';
|
|
98
|
+
}
|
|
99
|
+
export interface IndexDefinition {
|
|
100
|
+
name: string;
|
|
101
|
+
columns: string[];
|
|
102
|
+
unique?: boolean;
|
|
103
|
+
where?: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Vortex storage format for analytics
|
|
107
|
+
*/
|
|
108
|
+
export interface VortexTable {
|
|
109
|
+
name: string;
|
|
110
|
+
schema: VortexSchema;
|
|
111
|
+
partitions: VortexPartition[];
|
|
112
|
+
}
|
|
113
|
+
export interface VortexSchema {
|
|
114
|
+
columns: VortexColumn[];
|
|
115
|
+
sortKey?: string[];
|
|
116
|
+
partitionKey?: string;
|
|
117
|
+
}
|
|
118
|
+
export interface VortexColumn {
|
|
119
|
+
name: string;
|
|
120
|
+
type: VortexType;
|
|
121
|
+
nullable?: boolean;
|
|
122
|
+
compression?: CompressionCodec;
|
|
123
|
+
}
|
|
124
|
+
export type VortexType = 'bool' | 'i8' | 'i16' | 'i32' | 'i64' | 'u8' | 'u16' | 'u32' | 'u64' | 'f32' | 'f64' | 'utf8' | 'binary' | 'timestamp' | 'date' | 'list' | 'struct';
|
|
125
|
+
export type CompressionCodec = 'none' | 'snappy' | 'lz4' | 'zstd' | 'dict';
|
|
126
|
+
export interface VortexPartition {
|
|
127
|
+
id: string;
|
|
128
|
+
minTimestamp?: number;
|
|
129
|
+
maxTimestamp?: number;
|
|
130
|
+
rowCount: number;
|
|
131
|
+
sizeBytes: number;
|
|
132
|
+
location: string;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Time travel snapshot (for database branching)
|
|
136
|
+
*/
|
|
137
|
+
export interface DatabaseSnapshot {
|
|
138
|
+
id: string;
|
|
139
|
+
name?: string;
|
|
140
|
+
timestamp: number;
|
|
141
|
+
version: number;
|
|
142
|
+
parentId?: string;
|
|
143
|
+
metadata?: Record<string, unknown>;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Database branch
|
|
147
|
+
*/
|
|
148
|
+
export interface Branch {
|
|
149
|
+
id: string;
|
|
150
|
+
name: string;
|
|
151
|
+
baseSnapshotId: string;
|
|
152
|
+
headVersion: number;
|
|
153
|
+
createdAt: number;
|
|
154
|
+
updatedAt: number;
|
|
155
|
+
metadata?: Record<string, unknown>;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Time travel query options
|
|
159
|
+
*/
|
|
160
|
+
export interface TimeTravelOptions {
|
|
161
|
+
/** Query as of this timestamp */
|
|
162
|
+
asOf?: number;
|
|
163
|
+
/** Query as of this snapshot ID */
|
|
164
|
+
snapshotId?: string;
|
|
165
|
+
/** Query on this branch */
|
|
166
|
+
branch?: string;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Federated query across multiple database backends
|
|
170
|
+
*/
|
|
171
|
+
export interface FederatedQuery {
|
|
172
|
+
/** Main query to execute */
|
|
173
|
+
query: string;
|
|
174
|
+
/** Sources to query */
|
|
175
|
+
sources: FederatedSource[];
|
|
176
|
+
/** How to combine results */
|
|
177
|
+
strategy?: 'union' | 'join' | 'merge';
|
|
178
|
+
}
|
|
179
|
+
export interface FederatedSource {
|
|
180
|
+
/** Alias for this source in the query */
|
|
181
|
+
alias: string;
|
|
182
|
+
/** Database backend type */
|
|
183
|
+
backend: DatabaseBackend;
|
|
184
|
+
/** DO reference */
|
|
185
|
+
doRef: string;
|
|
186
|
+
/** Optional transformation */
|
|
187
|
+
transform?: string;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* DB4 configuration - unified access to all 4 paradigms
|
|
191
|
+
*/
|
|
192
|
+
export interface DB4Config {
|
|
193
|
+
/** Enable relational paradigm (SQL tables) */
|
|
194
|
+
relational?: RelationalConfig;
|
|
195
|
+
/** Enable document paradigm (JSON collections) */
|
|
196
|
+
document?: DocumentConfig;
|
|
197
|
+
/** Enable graph paradigm (nodes/edges) */
|
|
198
|
+
graph?: GraphConfig;
|
|
199
|
+
/** Enable analytics paradigm (columnar/OLAP) */
|
|
200
|
+
analytics?: AnalyticsConfig;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Relational paradigm configuration
|
|
204
|
+
*/
|
|
205
|
+
export interface RelationalConfig {
|
|
206
|
+
enabled: boolean;
|
|
207
|
+
/** Default engine */
|
|
208
|
+
engine?: 'sqlite' | 'postgres';
|
|
209
|
+
/** Enable foreign key constraints */
|
|
210
|
+
foreignKeys?: boolean;
|
|
211
|
+
/** Enable WAL mode for SQLite */
|
|
212
|
+
walMode?: boolean;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Document paradigm configuration
|
|
216
|
+
*/
|
|
217
|
+
export interface DocumentConfig {
|
|
218
|
+
enabled: boolean;
|
|
219
|
+
/** Default collection for untyped documents */
|
|
220
|
+
defaultCollection?: string;
|
|
221
|
+
/** Enable schema validation */
|
|
222
|
+
schemaValidation?: boolean;
|
|
223
|
+
/** Index configuration */
|
|
224
|
+
indexes?: DocumentIndexConfig[];
|
|
225
|
+
}
|
|
226
|
+
export interface DocumentIndexConfig {
|
|
227
|
+
collection: string;
|
|
228
|
+
fields: string[];
|
|
229
|
+
unique?: boolean;
|
|
230
|
+
sparse?: boolean;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Graph paradigm configuration
|
|
234
|
+
*/
|
|
235
|
+
export interface GraphConfig {
|
|
236
|
+
enabled: boolean;
|
|
237
|
+
/** Storage format */
|
|
238
|
+
format?: 'adjacency' | 'triple';
|
|
239
|
+
/** Enable full-text search on nodes */
|
|
240
|
+
fullTextSearch?: boolean;
|
|
241
|
+
/** Enable property indexes */
|
|
242
|
+
propertyIndexes?: string[];
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Analytics paradigm configuration
|
|
246
|
+
*/
|
|
247
|
+
export interface AnalyticsConfig {
|
|
248
|
+
enabled: boolean;
|
|
249
|
+
/** Columnar storage format */
|
|
250
|
+
format?: 'vortex' | 'parquet';
|
|
251
|
+
/** Default compression */
|
|
252
|
+
compression?: CompressionCodec;
|
|
253
|
+
/** Partition key for time-series */
|
|
254
|
+
partitionKey?: string;
|
|
255
|
+
/** Sort keys for efficient queries */
|
|
256
|
+
sortKeys?: string[];
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Document collection
|
|
260
|
+
*/
|
|
261
|
+
export interface DocumentCollection {
|
|
262
|
+
name: string;
|
|
263
|
+
schema?: Record<string, unknown>;
|
|
264
|
+
indexes: DocumentIndexConfig[];
|
|
265
|
+
count: number;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Stored document
|
|
269
|
+
*/
|
|
270
|
+
export interface StoredDocument<T = unknown> {
|
|
271
|
+
_id: string;
|
|
272
|
+
_rev?: string;
|
|
273
|
+
_createdAt: number;
|
|
274
|
+
_updatedAt: number;
|
|
275
|
+
data: T;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Document query
|
|
279
|
+
*/
|
|
280
|
+
export interface DocumentQuery {
|
|
281
|
+
collection: string;
|
|
282
|
+
filter?: Record<string, unknown>;
|
|
283
|
+
projection?: string[];
|
|
284
|
+
sort?: Record<string, 1 | -1>;
|
|
285
|
+
limit?: number;
|
|
286
|
+
skip?: number;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Graph node
|
|
290
|
+
*/
|
|
291
|
+
export interface GraphNode<T = unknown> {
|
|
292
|
+
id: string;
|
|
293
|
+
labels: string[];
|
|
294
|
+
properties: T;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Graph edge
|
|
298
|
+
*/
|
|
299
|
+
export interface GraphEdge<T = unknown> {
|
|
300
|
+
id: string;
|
|
301
|
+
type: string;
|
|
302
|
+
source: string;
|
|
303
|
+
target: string;
|
|
304
|
+
properties?: T;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Graph query (Cypher-like)
|
|
308
|
+
*/
|
|
309
|
+
export interface GraphQuery {
|
|
310
|
+
/** Pattern to match */
|
|
311
|
+
match: string;
|
|
312
|
+
/** Where clause */
|
|
313
|
+
where?: Record<string, unknown>;
|
|
314
|
+
/** What to return */
|
|
315
|
+
return: string[];
|
|
316
|
+
/** Order by */
|
|
317
|
+
orderBy?: string;
|
|
318
|
+
/** Limit */
|
|
319
|
+
limit?: number;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Graph traversal options
|
|
323
|
+
*/
|
|
324
|
+
export interface TraversalOptions {
|
|
325
|
+
/** Starting node ID */
|
|
326
|
+
startNode: string;
|
|
327
|
+
/** Edge types to follow */
|
|
328
|
+
edgeTypes?: string[];
|
|
329
|
+
/** Direction */
|
|
330
|
+
direction?: 'outgoing' | 'incoming' | 'both';
|
|
331
|
+
/** Maximum depth */
|
|
332
|
+
maxDepth?: number;
|
|
333
|
+
/** Filter function (as string) */
|
|
334
|
+
filter?: string;
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Analytics query (SQL-like for OLAP)
|
|
338
|
+
*/
|
|
339
|
+
export interface AnalyticsQuery {
|
|
340
|
+
/** SELECT clause */
|
|
341
|
+
select: string[];
|
|
342
|
+
/** FROM table */
|
|
343
|
+
from: string;
|
|
344
|
+
/** WHERE conditions */
|
|
345
|
+
where?: string;
|
|
346
|
+
/** GROUP BY */
|
|
347
|
+
groupBy?: string[];
|
|
348
|
+
/** HAVING */
|
|
349
|
+
having?: string;
|
|
350
|
+
/** ORDER BY */
|
|
351
|
+
orderBy?: string[];
|
|
352
|
+
/** LIMIT */
|
|
353
|
+
limit?: number;
|
|
354
|
+
/** Time range filter */
|
|
355
|
+
timeRange?: TimeRange;
|
|
356
|
+
}
|
|
357
|
+
export interface TimeRange {
|
|
358
|
+
start: number;
|
|
359
|
+
end: number;
|
|
360
|
+
field?: string;
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Aggregation functions
|
|
364
|
+
*/
|
|
365
|
+
export type AggregationFunction = 'count' | 'sum' | 'avg' | 'min' | 'max' | 'median' | 'percentile' | 'stddev' | 'variance';
|
|
366
|
+
/**
|
|
367
|
+
* Analytics query result with metadata
|
|
368
|
+
*/
|
|
369
|
+
export interface AnalyticsQueryResult<T = unknown> {
|
|
370
|
+
rows: T[];
|
|
371
|
+
rowCount: number;
|
|
372
|
+
scannedRows: number;
|
|
373
|
+
scannedBytes: number;
|
|
374
|
+
duration: number;
|
|
375
|
+
cacheHit?: boolean;
|
|
376
|
+
}
|
|
377
|
+
//# sourceMappingURL=databases.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../types/databases.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database Backend Types
|
|
3
|
+
*
|
|
4
|
+
* DB4.AI - The 4 Database Paradigms:
|
|
5
|
+
* 1. Relational - SQL, tables, ACID transactions
|
|
6
|
+
* 2. Document - JSON documents, flexible schemas
|
|
7
|
+
* 3. Graph - Nodes, edges, relationships
|
|
8
|
+
* 4. Analytics - Columnar, OLAP, time-series
|
|
9
|
+
*
|
|
10
|
+
* Modular database backends (separate DOs to avoid bloat)
|
|
11
|
+
* Base DO uses db4 internally, others loaded on demand
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=databases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"databases.js","sourceRoot":"","sources":["../../types/databases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Types - Subdomain Registration for Digital Objects
|
|
3
|
+
*
|
|
4
|
+
* Domains in DO are simpler than traditional DNS:
|
|
5
|
+
* - Claiming a subdomain creates an $id (e.g., https://acme.saas.group)
|
|
6
|
+
* - A primary DO (Builder.Domains) manages all registrations
|
|
7
|
+
* - No DNS configuration needed - just claim and use
|
|
8
|
+
*
|
|
9
|
+
* The subdomain becomes the $id of a new DO.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Platform-owned TLDs for free subdomains
|
|
13
|
+
* Each TLD is owned by Builder.Domains
|
|
14
|
+
*/
|
|
15
|
+
export declare const PLATFORM_TLDS: readonly ["hq.com.ai", "app.net.ai", "api.net.ai", "services.com.ai", "do.com.ai", "do.net.ai", "io.sb", "hq.sb", "api.sb", "db.sb", "studio.sb", "mcp.sb", "sh.sb", "directory.sb", "ful.st", "kit.st", "llc.st", "mgmt.st", "svc.st", "management.st", "marketing.st", "saas.group", "agents.do", "workers.do", "functions.do", "cdn.land", "edge.land", "mdx.land", "agint.land"];
|
|
16
|
+
export type PlatformTLD = typeof PLATFORM_TLDS[number];
|
|
17
|
+
/**
|
|
18
|
+
* Subdomain registration status
|
|
19
|
+
*/
|
|
20
|
+
export type SubdomainStatus = 'Available' | 'Claimed' | 'Reserved';
|
|
21
|
+
/**
|
|
22
|
+
* Subdomain registration - what gets stored in Builder.Domains
|
|
23
|
+
*/
|
|
24
|
+
export interface SubdomainRegistration {
|
|
25
|
+
/** Full domain as $id (e.g., https://acme.saas.group) */
|
|
26
|
+
$id: string;
|
|
27
|
+
/** Subdomain portion (e.g., 'acme') */
|
|
28
|
+
subdomain: string;
|
|
29
|
+
/** Platform TLD (e.g., 'saas.group') */
|
|
30
|
+
tld: PlatformTLD;
|
|
31
|
+
/** Owner DO $id (the DO that claimed this subdomain) */
|
|
32
|
+
ownerRef: string;
|
|
33
|
+
/** Status */
|
|
34
|
+
status: SubdomainStatus;
|
|
35
|
+
/** Created timestamp */
|
|
36
|
+
createdAt: number;
|
|
37
|
+
/** Metadata */
|
|
38
|
+
metadata?: Record<string, unknown>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Request to claim a subdomain
|
|
42
|
+
*/
|
|
43
|
+
export interface ClaimSubdomainRequest {
|
|
44
|
+
/** Desired subdomain (e.g., 'acme') */
|
|
45
|
+
subdomain: string;
|
|
46
|
+
/** Platform TLD (e.g., 'saas.group') */
|
|
47
|
+
tld: PlatformTLD;
|
|
48
|
+
/** Claiming DO's $id */
|
|
49
|
+
ownerRef: string;
|
|
50
|
+
/** Optional metadata */
|
|
51
|
+
metadata?: Record<string, unknown>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Result of claiming a subdomain
|
|
55
|
+
*/
|
|
56
|
+
export interface ClaimSubdomainResult {
|
|
57
|
+
/** Whether the claim succeeded */
|
|
58
|
+
success: boolean;
|
|
59
|
+
/** The full domain $id if successful */
|
|
60
|
+
$id?: string;
|
|
61
|
+
/** Error message if failed */
|
|
62
|
+
error?: string;
|
|
63
|
+
/** Reason for failure */
|
|
64
|
+
reason?: 'Taken' | 'Reserved' | 'Invalid' | 'QuotaExceeded';
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Reserved subdomains that cannot be claimed
|
|
68
|
+
*/
|
|
69
|
+
export declare const RESERVED_SUBDOMAINS: readonly ["www", "mail", "email", "smtp", "pop", "imap", "ftp", "sftp", "ssh", "ns1", "ns2", "dns", "api", "app", "admin", "dashboard", "console", "dev", "staging", "prod", "test", "demo", "auth", "login", "signin", "signup", "logout", "sso", "oauth", "account", "profile", "support", "help", "docs", "blog", "status", "cdn", "static", "assets", "media", "images", "legal", "terms", "privacy", "about", "contact", "team", "careers", "press", "investors", "undefined", "null", "true", "false", "root"];
|
|
70
|
+
export type ReservedSubdomain = typeof RESERVED_SUBDOMAINS[number];
|
|
71
|
+
/**
|
|
72
|
+
* Check if a subdomain is reserved
|
|
73
|
+
*/
|
|
74
|
+
export declare function isReservedSubdomain(subdomain: string): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Validate a subdomain
|
|
77
|
+
*/
|
|
78
|
+
export declare function validateSubdomain(subdomain: string): {
|
|
79
|
+
valid: boolean;
|
|
80
|
+
error?: string;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Interface for the Builder.Domains DO
|
|
84
|
+
* This is the primary DO that manages all subdomain registrations
|
|
85
|
+
*/
|
|
86
|
+
export interface DomainsManager {
|
|
87
|
+
/** Check if a subdomain is available */
|
|
88
|
+
check(subdomain: string, tld: PlatformTLD): Promise<SubdomainStatus>;
|
|
89
|
+
/** Claim a subdomain */
|
|
90
|
+
claim(request: ClaimSubdomainRequest): Promise<ClaimSubdomainResult>;
|
|
91
|
+
/** Release a subdomain */
|
|
92
|
+
release(subdomain: string, tld: PlatformTLD, ownerRef: string): Promise<boolean>;
|
|
93
|
+
/** List subdomains for an owner */
|
|
94
|
+
listByOwner(ownerRef: string): Promise<SubdomainRegistration[]>;
|
|
95
|
+
/** Get registration by subdomain */
|
|
96
|
+
get(subdomain: string, tld: PlatformTLD): Promise<SubdomainRegistration | null>;
|
|
97
|
+
/** Search subdomains */
|
|
98
|
+
search(query: string, tld?: PlatformTLD): Promise<SubdomainRegistration[]>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Domain context for $ accessor
|
|
102
|
+
*
|
|
103
|
+
* Usage:
|
|
104
|
+
* ```typescript
|
|
105
|
+
* DO($ => {
|
|
106
|
+
* // Claim a subdomain (creates a child DO)
|
|
107
|
+
* const { $id } = await $.domain`acme.saas.group`
|
|
108
|
+
* // → https://acme.saas.group
|
|
109
|
+
*
|
|
110
|
+
* // Or explicitly
|
|
111
|
+
* const { $id } = await $.domain.claim('acme', 'saas.group')
|
|
112
|
+
*
|
|
113
|
+
* // Check availability
|
|
114
|
+
* const available = await $.domain.check('acme', 'saas.group')
|
|
115
|
+
* })
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
export interface DomainContext {
|
|
119
|
+
/** Claim subdomain with tagged template */
|
|
120
|
+
(strings: TemplateStringsArray, ...values: unknown[]): Promise<{
|
|
121
|
+
$id: string;
|
|
122
|
+
}>;
|
|
123
|
+
/** Check availability */
|
|
124
|
+
check(subdomain: string, tld: PlatformTLD): Promise<SubdomainStatus>;
|
|
125
|
+
/** Claim a subdomain */
|
|
126
|
+
claim(subdomain: string, tld: PlatformTLD): Promise<ClaimSubdomainResult>;
|
|
127
|
+
/** Release a subdomain */
|
|
128
|
+
release(subdomain: string, tld: PlatformTLD): Promise<boolean>;
|
|
129
|
+
/** List owned subdomains */
|
|
130
|
+
list(): Promise<SubdomainRegistration[]>;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=domains.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../types/domains.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Types - Subdomain Registration for Digital Objects
|
|
3
|
+
*
|
|
4
|
+
* Domains in DO are simpler than traditional DNS:
|
|
5
|
+
* - Claiming a subdomain creates an $id (e.g., https://acme.saas.group)
|
|
6
|
+
* - A primary DO (Builder.Domains) manages all registrations
|
|
7
|
+
* - No DNS configuration needed - just claim and use
|
|
8
|
+
*
|
|
9
|
+
* The subdomain becomes the $id of a new DO.
|
|
10
|
+
*/
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// Platform TLDs
|
|
13
|
+
// =============================================================================
|
|
14
|
+
/**
|
|
15
|
+
* Platform-owned TLDs for free subdomains
|
|
16
|
+
* Each TLD is owned by Builder.Domains
|
|
17
|
+
*/
|
|
18
|
+
export const PLATFORM_TLDS = [
|
|
19
|
+
// Primary business TLDs
|
|
20
|
+
'hq.com.ai',
|
|
21
|
+
'app.net.ai',
|
|
22
|
+
'api.net.ai',
|
|
23
|
+
'services.com.ai',
|
|
24
|
+
'do.com.ai',
|
|
25
|
+
'do.net.ai',
|
|
26
|
+
// Studio/Builder TLDs
|
|
27
|
+
'io.sb',
|
|
28
|
+
'hq.sb',
|
|
29
|
+
'api.sb',
|
|
30
|
+
'db.sb',
|
|
31
|
+
'studio.sb',
|
|
32
|
+
'mcp.sb',
|
|
33
|
+
'sh.sb',
|
|
34
|
+
'directory.sb',
|
|
35
|
+
// Startup TLDs
|
|
36
|
+
'ful.st',
|
|
37
|
+
'kit.st',
|
|
38
|
+
'llc.st',
|
|
39
|
+
'mgmt.st',
|
|
40
|
+
'svc.st',
|
|
41
|
+
'management.st',
|
|
42
|
+
'marketing.st',
|
|
43
|
+
// SaaS TLDs
|
|
44
|
+
'saas.group',
|
|
45
|
+
'agents.do',
|
|
46
|
+
'workers.do',
|
|
47
|
+
'functions.do',
|
|
48
|
+
// Infrastructure TLDs
|
|
49
|
+
'cdn.land',
|
|
50
|
+
'edge.land',
|
|
51
|
+
'mdx.land',
|
|
52
|
+
'agint.land',
|
|
53
|
+
];
|
|
54
|
+
// =============================================================================
|
|
55
|
+
// Reserved Subdomains
|
|
56
|
+
// =============================================================================
|
|
57
|
+
/**
|
|
58
|
+
* Reserved subdomains that cannot be claimed
|
|
59
|
+
*/
|
|
60
|
+
export const RESERVED_SUBDOMAINS = [
|
|
61
|
+
// Infrastructure
|
|
62
|
+
'www', 'mail', 'email', 'smtp', 'pop', 'imap',
|
|
63
|
+
'ftp', 'sftp', 'ssh', 'ns1', 'ns2', 'dns',
|
|
64
|
+
// Platform
|
|
65
|
+
'api', 'app', 'admin', 'dashboard', 'console',
|
|
66
|
+
'dev', 'staging', 'prod', 'test', 'demo',
|
|
67
|
+
// Auth
|
|
68
|
+
'auth', 'login', 'signin', 'signup', 'logout',
|
|
69
|
+
'sso', 'oauth', 'account', 'profile',
|
|
70
|
+
// Support
|
|
71
|
+
'support', 'help', 'docs', 'blog', 'status',
|
|
72
|
+
'cdn', 'static', 'assets', 'media', 'images',
|
|
73
|
+
// Legal/Corporate
|
|
74
|
+
'legal', 'terms', 'privacy', 'about', 'contact',
|
|
75
|
+
'team', 'careers', 'press', 'investors',
|
|
76
|
+
// Generic reserved
|
|
77
|
+
'undefined', 'null', 'true', 'false', 'root',
|
|
78
|
+
];
|
|
79
|
+
/**
|
|
80
|
+
* Check if a subdomain is reserved
|
|
81
|
+
*/
|
|
82
|
+
export function isReservedSubdomain(subdomain) {
|
|
83
|
+
return RESERVED_SUBDOMAINS.includes(subdomain.toLowerCase());
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Validate a subdomain
|
|
87
|
+
*/
|
|
88
|
+
export function validateSubdomain(subdomain) {
|
|
89
|
+
// Must be lowercase
|
|
90
|
+
if (subdomain !== subdomain.toLowerCase()) {
|
|
91
|
+
return { valid: false, error: 'Subdomain must be lowercase' };
|
|
92
|
+
}
|
|
93
|
+
// Length check
|
|
94
|
+
if (subdomain.length < 2 || subdomain.length > 63) {
|
|
95
|
+
return { valid: false, error: 'Subdomain must be 2-63 characters' };
|
|
96
|
+
}
|
|
97
|
+
// Character check (alphanumeric and hyphens, no leading/trailing hyphens)
|
|
98
|
+
if (!/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/.test(subdomain)) {
|
|
99
|
+
return { valid: false, error: 'Subdomain must be alphanumeric with optional hyphens' };
|
|
100
|
+
}
|
|
101
|
+
// Reserved check
|
|
102
|
+
if (isReservedSubdomain(subdomain)) {
|
|
103
|
+
return { valid: false, error: 'Subdomain is reserved' };
|
|
104
|
+
}
|
|
105
|
+
return { valid: true };
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=domains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domains.js","sourceRoot":"","sources":["../../types/domains.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,wBAAwB;IACxB,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,WAAW;IACX,WAAW;IAEX,sBAAsB;IACtB,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,WAAW;IACX,QAAQ;IACR,OAAO;IACP,cAAc;IAEd,eAAe;IACf,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,eAAe;IACf,cAAc;IAEd,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,cAAc;IAEd,sBAAsB;IACtB,UAAU;IACV,WAAW;IACX,UAAU;IACV,YAAY;CACJ,CAAA;AA4EV,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB;IACjB,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAC7C,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAEzC,WAAW;IACX,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS;IAC7C,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAExC,OAAO;IACP,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IAC7C,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;IAEpC,UAAU;IACV,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;IAC3C,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAE5C,kBAAkB;IAClB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS;IAC/C,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW;IAEvC,mBAAmB;IACnB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CACpC,CAAA;AAIV;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAQ,mBAAyC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;AACrF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,oBAAoB;IACpB,IAAI,SAAS,KAAK,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAA;IAC/D,CAAC;IAED,eAAe;IACf,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAA;IACrE,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,sDAAsD,EAAE,CAAA;IACxF,CAAC;IAED,iBAAiB;IACjB,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAA;IACzD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACxB,CAAC"}
|