@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,223 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subdomain Registration
|
|
3
|
+
*
|
|
4
|
+
* CRUD operations for subdomain registrations on platform TLDs.
|
|
5
|
+
* Interacts with the Builder.Domains DO for centralized registration management.
|
|
6
|
+
*
|
|
7
|
+
* @module domains/subdomains
|
|
8
|
+
*/
|
|
9
|
+
import { validateSubdomain, validateTLD } from './validation';
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// Subdomain Client
|
|
12
|
+
// =============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Client for subdomain operations
|
|
15
|
+
*
|
|
16
|
+
* Wraps the Builder.Domains DO stub for subdomain management.
|
|
17
|
+
*/
|
|
18
|
+
export class SubdomainClient {
|
|
19
|
+
domainsStub;
|
|
20
|
+
/**
|
|
21
|
+
* Create a new SubdomainClient
|
|
22
|
+
*
|
|
23
|
+
* @param domainsStub - Durable Object stub for Builder.Domains
|
|
24
|
+
*/
|
|
25
|
+
constructor(domainsStub) {
|
|
26
|
+
this.domainsStub = domainsStub;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Check if a subdomain is available
|
|
30
|
+
*
|
|
31
|
+
* @param subdomain - The subdomain to check (e.g., 'acme')
|
|
32
|
+
* @param tld - The platform TLD (e.g., 'saas.group')
|
|
33
|
+
* @returns The subdomain status
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const status = await client.check('acme', 'saas.group')
|
|
38
|
+
* if (status === 'available') {
|
|
39
|
+
* // Can be claimed
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
async check(subdomain, tld) {
|
|
44
|
+
// TODO: Implement RPC call to Builder.Domains DO
|
|
45
|
+
throw new Error('Not implemented');
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Claim a subdomain
|
|
49
|
+
*
|
|
50
|
+
* @param request - The claim request
|
|
51
|
+
* @returns The claim result
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const result = await client.claim({
|
|
56
|
+
* subdomain: 'acme',
|
|
57
|
+
* tld: 'saas.group',
|
|
58
|
+
* ownerRef: 'do://Startup/acme'
|
|
59
|
+
* })
|
|
60
|
+
*
|
|
61
|
+
* if (result.success) {
|
|
62
|
+
* console.log('Claimed:', result.$id) // https://acme.saas.group
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
async claim(request) {
|
|
67
|
+
// Validate before sending to DO
|
|
68
|
+
const subdomainValidation = validateSubdomain(request.subdomain);
|
|
69
|
+
if (!subdomainValidation.valid) {
|
|
70
|
+
return {
|
|
71
|
+
success: false,
|
|
72
|
+
error: subdomainValidation.error,
|
|
73
|
+
reason: 'Invalid',
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
const tldValidation = validateTLD(request.tld);
|
|
77
|
+
if (!tldValidation.valid) {
|
|
78
|
+
return {
|
|
79
|
+
success: false,
|
|
80
|
+
error: tldValidation.error,
|
|
81
|
+
reason: 'Invalid',
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
// TODO: Implement RPC call to Builder.Domains DO
|
|
85
|
+
throw new Error('Not implemented');
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Release a subdomain
|
|
89
|
+
*
|
|
90
|
+
* @param subdomain - The subdomain to release
|
|
91
|
+
* @param tld - The platform TLD
|
|
92
|
+
* @param ownerRef - The owner's DO $id (must match registration)
|
|
93
|
+
* @returns True if released successfully
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* const released = await client.release('acme', 'saas.group', 'do://Startup/acme')
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
async release(subdomain, tld, ownerRef) {
|
|
101
|
+
// TODO: Implement RPC call to Builder.Domains DO
|
|
102
|
+
throw new Error('Not implemented');
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* List subdomains owned by a specific DO
|
|
106
|
+
*
|
|
107
|
+
* @param ownerRef - The owner's DO $id
|
|
108
|
+
* @returns Array of subdomain registrations
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const subdomains = await client.listByOwner('do://Startup/acme')
|
|
113
|
+
* // [{ $id: 'https://acme.saas.group', subdomain: 'acme', ... }]
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
async listByOwner(ownerRef) {
|
|
117
|
+
// TODO: Implement RPC call to Builder.Domains DO
|
|
118
|
+
throw new Error('Not implemented');
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Get a specific subdomain registration
|
|
122
|
+
*
|
|
123
|
+
* @param subdomain - The subdomain
|
|
124
|
+
* @param tld - The platform TLD
|
|
125
|
+
* @returns The registration or null if not found
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```typescript
|
|
129
|
+
* const reg = await client.get('acme', 'saas.group')
|
|
130
|
+
* if (reg) {
|
|
131
|
+
* console.log('Owner:', reg.ownerRef)
|
|
132
|
+
* }
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
async get(subdomain, tld) {
|
|
136
|
+
// TODO: Implement RPC call to Builder.Domains DO
|
|
137
|
+
throw new Error('Not implemented');
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Search subdomains by prefix
|
|
141
|
+
*
|
|
142
|
+
* @param query - Search query (prefix match)
|
|
143
|
+
* @param tld - Optional TLD filter
|
|
144
|
+
* @returns Matching registrations
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```typescript
|
|
148
|
+
* const results = await client.search('acm', 'saas.group')
|
|
149
|
+
* // [{ subdomain: 'acme', ... }, { subdomain: 'acme-dev', ... }]
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
152
|
+
async search(query, tld) {
|
|
153
|
+
// TODO: Implement RPC call to Builder.Domains DO
|
|
154
|
+
throw new Error('Not implemented');
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
// =============================================================================
|
|
158
|
+
// Public API Functions
|
|
159
|
+
// =============================================================================
|
|
160
|
+
/**
|
|
161
|
+
* Create a subdomain client from a Durable Object namespace
|
|
162
|
+
*
|
|
163
|
+
* @param namespace - The Builder.Domains DO namespace
|
|
164
|
+
* @returns A SubdomainClient instance
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* const client = createSubdomainClient(env.BUILDER_DOMAINS)
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
export function createSubdomainClient(namespace) {
|
|
172
|
+
const id = namespace.idFromName('domains');
|
|
173
|
+
const stub = namespace.get(id);
|
|
174
|
+
return new SubdomainClient(stub);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Build the full domain URL from subdomain and TLD
|
|
178
|
+
*
|
|
179
|
+
* @param subdomain - The subdomain (e.g., 'acme')
|
|
180
|
+
* @param tld - The platform TLD (e.g., 'saas.group')
|
|
181
|
+
* @returns The full URL (e.g., 'https://acme.saas.group')
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```typescript
|
|
185
|
+
* buildDomainUrl('acme', 'saas.group')
|
|
186
|
+
* // 'https://acme.saas.group'
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
export function buildDomainUrl(subdomain, tld) {
|
|
190
|
+
return `https://${subdomain}.${tld}`;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Parse a domain URL into subdomain and TLD
|
|
194
|
+
*
|
|
195
|
+
* @param url - The domain URL (e.g., 'https://acme.saas.group')
|
|
196
|
+
* @returns Object with subdomain and tld, or null if invalid
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```typescript
|
|
200
|
+
* parseDomainUrl('https://acme.saas.group')
|
|
201
|
+
* // { subdomain: 'acme', tld: 'saas.group' }
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
export function parseDomainUrl(url) {
|
|
205
|
+
// TODO: Implement URL parsing and TLD matching
|
|
206
|
+
throw new Error('Not implemented');
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Check if a URL is a platform domain
|
|
210
|
+
*
|
|
211
|
+
* @param url - The URL to check
|
|
212
|
+
* @returns True if the URL is on a platform TLD
|
|
213
|
+
*
|
|
214
|
+
* @example
|
|
215
|
+
* ```typescript
|
|
216
|
+
* isPlatformDomain('https://acme.saas.group') // true
|
|
217
|
+
* isPlatformDomain('https://example.com') // false
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
export function isPlatformDomain(url) {
|
|
221
|
+
return parseDomainUrl(url) !== null;
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=subdomains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subdomains.js","sourceRoot":"","sources":["../../../do/domains/subdomains.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform TLD Registry
|
|
3
|
+
*
|
|
4
|
+
* Manages the 50+ platform-owned TLDs available for free subdomain registration.
|
|
5
|
+
* Each TLD has associated Cloudflare zone configuration and feature flags.
|
|
6
|
+
*
|
|
7
|
+
* @module domains/tlds
|
|
8
|
+
*/
|
|
9
|
+
import { type PlatformTLD } from '../../types/domains';
|
|
10
|
+
/**
|
|
11
|
+
* Route target for default subdomain routing
|
|
12
|
+
*/
|
|
13
|
+
export type RouteTarget = {
|
|
14
|
+
type: 'worker';
|
|
15
|
+
script: string;
|
|
16
|
+
} | {
|
|
17
|
+
type: 'do';
|
|
18
|
+
namespace: string;
|
|
19
|
+
id?: string;
|
|
20
|
+
} | {
|
|
21
|
+
type: 'pages';
|
|
22
|
+
project: string;
|
|
23
|
+
} | {
|
|
24
|
+
type: 'external';
|
|
25
|
+
url: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Feature flags for a TLD
|
|
29
|
+
*/
|
|
30
|
+
export interface TLDFeatures {
|
|
31
|
+
/** Email routing enabled for this TLD */
|
|
32
|
+
email: boolean;
|
|
33
|
+
/** Wildcard SSL certificate available */
|
|
34
|
+
wildcardSSL: boolean;
|
|
35
|
+
/** Allow custom DNS records (beyond default A/AAAA) */
|
|
36
|
+
customDNS: boolean;
|
|
37
|
+
/** Allow deep subdomains (a.b.tld) */
|
|
38
|
+
deepSubdomains: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Configuration for a platform TLD
|
|
42
|
+
*/
|
|
43
|
+
export interface TLDConfig {
|
|
44
|
+
/** The TLD (e.g., 'saas.group') */
|
|
45
|
+
tld: PlatformTLD;
|
|
46
|
+
/** Cloudflare zone ID */
|
|
47
|
+
zoneId: string;
|
|
48
|
+
/** Default routing target for new subdomains */
|
|
49
|
+
defaultTarget: RouteTarget;
|
|
50
|
+
/** Feature flags */
|
|
51
|
+
features: TLDFeatures;
|
|
52
|
+
/** Human-readable description */
|
|
53
|
+
description: string;
|
|
54
|
+
/** Category for grouping */
|
|
55
|
+
category: TLDCategory;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* TLD category for organizational purposes
|
|
59
|
+
*/
|
|
60
|
+
export type TLDCategory = 'business' | 'studio' | 'startup' | 'saas' | 'infrastructure';
|
|
61
|
+
/**
|
|
62
|
+
* Get all available platform TLDs
|
|
63
|
+
*
|
|
64
|
+
* @returns Array of all platform TLD strings
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const tlds = getAllTLDs()
|
|
69
|
+
* // ['hq.com.ai', 'app.net.ai', 'saas.group', ...]
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare function getAllTLDs(): readonly PlatformTLD[];
|
|
73
|
+
/**
|
|
74
|
+
* Get TLDs by category
|
|
75
|
+
*
|
|
76
|
+
* @param category - The category to filter by
|
|
77
|
+
* @returns Array of TLDs in the specified category
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* const saasTLDs = getTLDsByCategory('saas')
|
|
82
|
+
* // ['saas.group', 'agents.do', 'workers.do', 'functions.do']
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare function getTLDsByCategory(category: TLDCategory): PlatformTLD[];
|
|
86
|
+
/**
|
|
87
|
+
* Check if a string is a valid platform TLD
|
|
88
|
+
*
|
|
89
|
+
* @param tld - The string to check
|
|
90
|
+
* @returns True if the string is a valid platform TLD
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typescript
|
|
94
|
+
* isValidTLD('saas.group') // true
|
|
95
|
+
* isValidTLD('example.com') // false
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
export declare function isValidTLD(tld: string): tld is PlatformTLD;
|
|
99
|
+
/**
|
|
100
|
+
* Get configuration for a specific TLD
|
|
101
|
+
*
|
|
102
|
+
* @param tld - The platform TLD
|
|
103
|
+
* @returns TLD configuration or null if not found
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* const config = getTLDConfig('saas.group')
|
|
108
|
+
* // { tld: 'saas.group', zoneId: '...', features: {...}, ... }
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
export declare function getTLDConfig(tld: PlatformTLD): TLDConfig | null;
|
|
112
|
+
/**
|
|
113
|
+
* Get the Cloudflare zone ID for a TLD
|
|
114
|
+
*
|
|
115
|
+
* @param tld - The platform TLD
|
|
116
|
+
* @returns Zone ID or null if not configured
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* const zoneId = getZoneId('saas.group')
|
|
121
|
+
* // 'abc123...'
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
export declare function getZoneId(tld: PlatformTLD): string | null;
|
|
125
|
+
/**
|
|
126
|
+
* Get default route target for a TLD
|
|
127
|
+
*
|
|
128
|
+
* @param tld - The platform TLD
|
|
129
|
+
* @returns Default route target
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* const target = getDefaultTarget('saas.group')
|
|
134
|
+
* // { type: 'do', namespace: 'DigitalObject' }
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
export declare function getDefaultTarget(tld: PlatformTLD): RouteTarget;
|
|
138
|
+
/**
|
|
139
|
+
* Check if a TLD supports a specific feature
|
|
140
|
+
*
|
|
141
|
+
* @param tld - The platform TLD
|
|
142
|
+
* @param feature - The feature to check
|
|
143
|
+
* @returns True if the feature is enabled for this TLD
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* hasFeature('saas.group', 'email') // true
|
|
148
|
+
* hasFeature('cdn.land', 'email') // false
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
export declare function hasFeature(tld: PlatformTLD, feature: keyof TLDFeatures): boolean;
|
|
152
|
+
/**
|
|
153
|
+
* Initialize TLD configurations from environment
|
|
154
|
+
*
|
|
155
|
+
* @param env - Environment bindings with zone IDs
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* // In worker entry point
|
|
160
|
+
* initializeTLDs(env)
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
export declare function initializeTLDs(env: Record<string, string>): void;
|
|
164
|
+
/**
|
|
165
|
+
* Human-readable descriptions for each TLD category
|
|
166
|
+
*/
|
|
167
|
+
export declare const TLD_CATEGORY_DESCRIPTIONS: Record<TLDCategory, string>;
|
|
168
|
+
/**
|
|
169
|
+
* Get a human-readable description for a TLD
|
|
170
|
+
*
|
|
171
|
+
* @param tld - The platform TLD
|
|
172
|
+
* @returns Description string
|
|
173
|
+
*/
|
|
174
|
+
export declare function getTLDDescription(tld: PlatformTLD): string;
|
|
175
|
+
//# sourceMappingURL=tlds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tlds.d.ts","sourceRoot":"","sources":["../../../do/domains/tlds.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAMrE;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAErC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,KAAK,EAAE,OAAO,CAAA;IACd,yCAAyC;IACzC,WAAW,EAAE,OAAO,CAAA;IACpB,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAA;IAClB,sCAAsC;IACtC,cAAc,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,GAAG,EAAE,WAAW,CAAA;IAChB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,gDAAgD;IAChD,aAAa,EAAE,WAAW,CAAA;IAC1B,oBAAoB;IACpB,QAAQ,EAAE,WAAW,CAAA;IACrB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,4BAA4B;IAC5B,QAAQ,EAAE,WAAW,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,QAAQ,GACR,SAAS,GACT,MAAM,GACN,gBAAgB,CAAA;AAoCpB;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,IAAI,SAAS,WAAW,EAAE,CAEnD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,EAAE,CAGtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,WAAW,CAE1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAG/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAG9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,GAAG,OAAO,CAGhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAIhE;AAMD;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAMjE,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAG1D"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform TLD Registry
|
|
3
|
+
*
|
|
4
|
+
* Manages the 50+ platform-owned TLDs available for free subdomain registration.
|
|
5
|
+
* Each TLD has associated Cloudflare zone configuration and feature flags.
|
|
6
|
+
*
|
|
7
|
+
* @module domains/tlds
|
|
8
|
+
*/
|
|
9
|
+
import { PLATFORM_TLDS } from '../../types/domains';
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// TLD Registry
|
|
12
|
+
// =============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Registry of all platform TLD configurations
|
|
15
|
+
*
|
|
16
|
+
* Note: Zone IDs should be populated from environment variables in production.
|
|
17
|
+
* Placeholder values shown here for structure reference.
|
|
18
|
+
*/
|
|
19
|
+
const TLD_CONFIGS = new Map();
|
|
20
|
+
/**
|
|
21
|
+
* Default features for most TLDs
|
|
22
|
+
*/
|
|
23
|
+
const DEFAULT_FEATURES = {
|
|
24
|
+
email: true,
|
|
25
|
+
wildcardSSL: true,
|
|
26
|
+
customDNS: true,
|
|
27
|
+
deepSubdomains: false,
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Default route target (route to DO)
|
|
31
|
+
*/
|
|
32
|
+
const DEFAULT_TARGET = {
|
|
33
|
+
type: 'do',
|
|
34
|
+
namespace: 'DigitalObject',
|
|
35
|
+
};
|
|
36
|
+
// =============================================================================
|
|
37
|
+
// Public API
|
|
38
|
+
// =============================================================================
|
|
39
|
+
/**
|
|
40
|
+
* Get all available platform TLDs
|
|
41
|
+
*
|
|
42
|
+
* @returns Array of all platform TLD strings
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const tlds = getAllTLDs()
|
|
47
|
+
* // ['hq.com.ai', 'app.net.ai', 'saas.group', ...]
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export function getAllTLDs() {
|
|
51
|
+
return PLATFORM_TLDS;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get TLDs by category
|
|
55
|
+
*
|
|
56
|
+
* @param category - The category to filter by
|
|
57
|
+
* @returns Array of TLDs in the specified category
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const saasTLDs = getTLDsByCategory('saas')
|
|
62
|
+
* // ['saas.group', 'agents.do', 'workers.do', 'functions.do']
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export function getTLDsByCategory(category) {
|
|
66
|
+
// TODO: Implement based on TLD_CONFIGS
|
|
67
|
+
throw new Error('Not implemented');
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Check if a string is a valid platform TLD
|
|
71
|
+
*
|
|
72
|
+
* @param tld - The string to check
|
|
73
|
+
* @returns True if the string is a valid platform TLD
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* isValidTLD('saas.group') // true
|
|
78
|
+
* isValidTLD('example.com') // false
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export function isValidTLD(tld) {
|
|
82
|
+
return PLATFORM_TLDS.includes(tld);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Get configuration for a specific TLD
|
|
86
|
+
*
|
|
87
|
+
* @param tld - The platform TLD
|
|
88
|
+
* @returns TLD configuration or null if not found
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* const config = getTLDConfig('saas.group')
|
|
93
|
+
* // { tld: 'saas.group', zoneId: '...', features: {...}, ... }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export function getTLDConfig(tld) {
|
|
97
|
+
// TODO: Implement lookup from TLD_CONFIGS or environment
|
|
98
|
+
throw new Error('Not implemented');
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get the Cloudflare zone ID for a TLD
|
|
102
|
+
*
|
|
103
|
+
* @param tld - The platform TLD
|
|
104
|
+
* @returns Zone ID or null if not configured
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* const zoneId = getZoneId('saas.group')
|
|
109
|
+
* // 'abc123...'
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
export function getZoneId(tld) {
|
|
113
|
+
// TODO: Implement - should read from environment or config
|
|
114
|
+
throw new Error('Not implemented');
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get default route target for a TLD
|
|
118
|
+
*
|
|
119
|
+
* @param tld - The platform TLD
|
|
120
|
+
* @returns Default route target
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```typescript
|
|
124
|
+
* const target = getDefaultTarget('saas.group')
|
|
125
|
+
* // { type: 'do', namespace: 'DigitalObject' }
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
export function getDefaultTarget(tld) {
|
|
129
|
+
const config = TLD_CONFIGS.get(tld);
|
|
130
|
+
return config?.defaultTarget ?? DEFAULT_TARGET;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Check if a TLD supports a specific feature
|
|
134
|
+
*
|
|
135
|
+
* @param tld - The platform TLD
|
|
136
|
+
* @param feature - The feature to check
|
|
137
|
+
* @returns True if the feature is enabled for this TLD
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* hasFeature('saas.group', 'email') // true
|
|
142
|
+
* hasFeature('cdn.land', 'email') // false
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
export function hasFeature(tld, feature) {
|
|
146
|
+
const config = TLD_CONFIGS.get(tld);
|
|
147
|
+
return config?.features[feature] ?? DEFAULT_FEATURES[feature];
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Initialize TLD configurations from environment
|
|
151
|
+
*
|
|
152
|
+
* @param env - Environment bindings with zone IDs
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* // In worker entry point
|
|
157
|
+
* initializeTLDs(env)
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
export function initializeTLDs(env) {
|
|
161
|
+
// TODO: Populate TLD_CONFIGS from environment variables
|
|
162
|
+
// e.g., env.CF_ZONE_SAAS_GROUP -> 'saas.group' zone ID
|
|
163
|
+
throw new Error('Not implemented');
|
|
164
|
+
}
|
|
165
|
+
// =============================================================================
|
|
166
|
+
// TLD Metadata (for documentation/UI)
|
|
167
|
+
// =============================================================================
|
|
168
|
+
/**
|
|
169
|
+
* Human-readable descriptions for each TLD category
|
|
170
|
+
*/
|
|
171
|
+
export const TLD_CATEGORY_DESCRIPTIONS = {
|
|
172
|
+
business: 'Primary business TLDs for headquarters and applications',
|
|
173
|
+
studio: 'Studio and builder TLDs for development platforms',
|
|
174
|
+
startup: 'Startup-focused TLDs for new ventures',
|
|
175
|
+
saas: 'SaaS product TLDs for software services',
|
|
176
|
+
infrastructure: 'Infrastructure TLDs for CDN, edge, and platform services',
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Get a human-readable description for a TLD
|
|
180
|
+
*
|
|
181
|
+
* @param tld - The platform TLD
|
|
182
|
+
* @returns Description string
|
|
183
|
+
*/
|
|
184
|
+
export function getTLDDescription(tld) {
|
|
185
|
+
const config = TLD_CONFIGS.get(tld);
|
|
186
|
+
return config?.description ?? `Platform TLD: ${tld}`;
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=tlds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tlds.js","sourceRoot":"","sources":["../../../do/domains/tlds.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAA;AAyDrE,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,WAAW,GAAgC,IAAI,GAAG,EAAE,CAAA;AAE1D;;GAEG;AACH,MAAM,gBAAgB,GAAgB;IACpC,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,KAAK;CACtB,CAAA;AAED;;GAEG;AACH,MAAM,cAAc,GAAgB;IAClC,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,eAAe;CAC3B,CAAA;AAED,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,aAAa,CAAA;AACtB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAqB;IACrD,uCAAuC;IACvC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAQ,aAAmC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,GAAgB;IAC3C,yDAAyD;IACzD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAC,GAAgB;IACxC,2DAA2D;IAC3D,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAgB;IAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,MAAM,EAAE,aAAa,IAAI,cAAc,CAAA;AAChD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,GAAgB,EAAE,OAA0B;IACrE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAA;AAC/D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,GAA2B;IACxD,wDAAwD;IACxD,uDAAuD;IACvD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAgC;IACpE,QAAQ,EAAE,yDAAyD;IACnE,MAAM,EAAE,mDAAmD;IAC3D,OAAO,EAAE,uCAAuC;IAChD,IAAI,EAAE,yCAAyC;IAC/C,cAAc,EAAE,0DAA0D;CAC3E,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAgB;IAChD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,MAAM,EAAE,WAAW,IAAI,iBAAiB,GAAG,EAAE,CAAA;AACtD,CAAC"}
|