@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 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../rpc/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DO Authentication Module
|
|
3
|
+
*
|
|
4
|
+
* Wraps oauth.do for Digital Object authentication.
|
|
5
|
+
* Provides both CLI (browser launch) and headless (device flow) modes.
|
|
6
|
+
*
|
|
7
|
+
* @module @do/sdk/auth
|
|
8
|
+
*/
|
|
9
|
+
import { type TokenStorage } from 'oauth.do';
|
|
10
|
+
import type { StoredTokenData, OAuthConfig } from 'oauth.do/types';
|
|
11
|
+
/**
|
|
12
|
+
* DO-specific storage configuration
|
|
13
|
+
*/
|
|
14
|
+
export interface DOStorageConfig {
|
|
15
|
+
/** Custom storage path (default: ~/.do/tokens) */
|
|
16
|
+
storagePath?: string;
|
|
17
|
+
/** Custom storage implementation */
|
|
18
|
+
storage?: TokenStorage;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Options for DO authentication
|
|
22
|
+
*/
|
|
23
|
+
export interface DOAuthOptions extends DOStorageConfig {
|
|
24
|
+
/** Open browser automatically for login (default: true) */
|
|
25
|
+
openBrowser?: boolean;
|
|
26
|
+
/** Custom print function for output */
|
|
27
|
+
print?: (message: string) => void;
|
|
28
|
+
/** OAuth provider to use directly */
|
|
29
|
+
provider?: 'GitHubOAuth' | 'GoogleOAuth' | 'MicrosoftOAuth' | 'AppleOAuth';
|
|
30
|
+
/** Use headless mode (device flow without browser) */
|
|
31
|
+
headless?: boolean;
|
|
32
|
+
/** DO API URL (default: https://api.do.md) */
|
|
33
|
+
apiUrl?: string;
|
|
34
|
+
/** Client ID for OAuth (default: from env DO_CLIENT_ID) */
|
|
35
|
+
clientId?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Result of a DO authentication operation
|
|
39
|
+
*/
|
|
40
|
+
export interface DOAuthResult {
|
|
41
|
+
/** Access token */
|
|
42
|
+
token: string;
|
|
43
|
+
/** Whether this was a fresh login */
|
|
44
|
+
isNewLogin: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Device flow authorization response
|
|
48
|
+
*/
|
|
49
|
+
export interface DeviceAuthResponse {
|
|
50
|
+
/** URL for user to visit */
|
|
51
|
+
verificationUri: string;
|
|
52
|
+
/** Complete URL with code embedded */
|
|
53
|
+
verificationUriComplete: string;
|
|
54
|
+
/** Code for user to enter */
|
|
55
|
+
userCode: string;
|
|
56
|
+
/** Device code for polling */
|
|
57
|
+
deviceCode: string;
|
|
58
|
+
/** Polling interval in seconds */
|
|
59
|
+
interval: number;
|
|
60
|
+
/** Expiration time in seconds */
|
|
61
|
+
expiresIn: number;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Configure DO authentication
|
|
65
|
+
* Call this before using any auth functions if you need custom settings
|
|
66
|
+
*/
|
|
67
|
+
export declare function configureDOAuth(options: {
|
|
68
|
+
apiUrl?: string;
|
|
69
|
+
clientId?: string;
|
|
70
|
+
storagePath?: string;
|
|
71
|
+
}): void;
|
|
72
|
+
/**
|
|
73
|
+
* Ensure the user is authenticated with DO.
|
|
74
|
+
*
|
|
75
|
+
* This is the primary authentication function for DO applications.
|
|
76
|
+
* It handles:
|
|
77
|
+
* - Checking for existing valid tokens
|
|
78
|
+
* - Refreshing expired tokens
|
|
79
|
+
* - Initiating device flow login when needed
|
|
80
|
+
*
|
|
81
|
+
* @param options - Authentication options
|
|
82
|
+
* @returns Authentication result with token
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* // CLI mode - opens browser automatically
|
|
87
|
+
* const { token } = await ensureDOAuth()
|
|
88
|
+
*
|
|
89
|
+
* // Headless mode - prints code for manual entry
|
|
90
|
+
* const { token } = await ensureDOAuth({ headless: true })
|
|
91
|
+
*
|
|
92
|
+
* // Use token with DO client
|
|
93
|
+
* const client = createClient({
|
|
94
|
+
* url: 'https://my-do.workers.dev',
|
|
95
|
+
* id: 'my-instance',
|
|
96
|
+
* token,
|
|
97
|
+
* })
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare function ensureDOAuth(options?: DOAuthOptions): Promise<DOAuthResult>;
|
|
101
|
+
/**
|
|
102
|
+
* Get the current DO authentication token.
|
|
103
|
+
*
|
|
104
|
+
* Returns null if not authenticated.
|
|
105
|
+
*
|
|
106
|
+
* @param options - Storage configuration options
|
|
107
|
+
* @returns The current token or null
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const token = await getDOToken()
|
|
112
|
+
* if (token) {
|
|
113
|
+
* console.log('Authenticated')
|
|
114
|
+
* } else {
|
|
115
|
+
* console.log('Not authenticated')
|
|
116
|
+
* }
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export declare function getDOToken(options?: DOStorageConfig): Promise<string | null>;
|
|
120
|
+
/**
|
|
121
|
+
* Check if the user is currently authenticated with DO.
|
|
122
|
+
*
|
|
123
|
+
* @param options - Storage configuration options
|
|
124
|
+
* @returns True if authenticated with a valid token
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* if (await isDOAuthenticated()) {
|
|
129
|
+
* // User is logged in
|
|
130
|
+
* } else {
|
|
131
|
+
* await ensureDOAuth()
|
|
132
|
+
* }
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
export declare function isDOAuthenticated(options?: DOStorageConfig): Promise<boolean>;
|
|
136
|
+
/**
|
|
137
|
+
* Force a new login, ignoring any existing token.
|
|
138
|
+
*
|
|
139
|
+
* @param options - Authentication options
|
|
140
|
+
* @returns Authentication result with new token
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* // Force re-authentication
|
|
145
|
+
* const { token } = await forceReauthDO()
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export declare function forceReauthDO(options?: DOAuthOptions): Promise<DOAuthResult>;
|
|
149
|
+
/**
|
|
150
|
+
* Log out from DO, clearing stored credentials.
|
|
151
|
+
*
|
|
152
|
+
* @param options - Storage configuration options
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* await logoutDO()
|
|
157
|
+
* console.log('Logged out')
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
export declare function logoutDO(options?: DOStorageConfig & {
|
|
161
|
+
print?: (message: string) => void;
|
|
162
|
+
}): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Start a device flow authorization manually.
|
|
165
|
+
*
|
|
166
|
+
* This is useful for custom UIs that want to display the verification
|
|
167
|
+
* code and URL themselves.
|
|
168
|
+
*
|
|
169
|
+
* @param options - Device flow options
|
|
170
|
+
* @returns Device authorization response
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```typescript
|
|
174
|
+
* const auth = await startDODeviceFlow()
|
|
175
|
+
* console.log(`Visit ${auth.verificationUri} and enter code ${auth.userCode}`)
|
|
176
|
+
*
|
|
177
|
+
* // Then poll for completion
|
|
178
|
+
* const token = await completeDODeviceFlow(auth.deviceCode, auth.interval, auth.expiresIn)
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
export declare function startDODeviceFlow(options?: Pick<DOAuthOptions, 'provider' | 'apiUrl' | 'clientId'>): Promise<DeviceAuthResponse>;
|
|
182
|
+
/**
|
|
183
|
+
* Complete a device flow authorization by polling for tokens.
|
|
184
|
+
*
|
|
185
|
+
* @param deviceCode - Device code from startDODeviceFlow
|
|
186
|
+
* @param interval - Polling interval in seconds
|
|
187
|
+
* @param expiresIn - Expiration time in seconds
|
|
188
|
+
* @param options - Storage options
|
|
189
|
+
* @returns The access token
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```typescript
|
|
193
|
+
* const auth = await startDODeviceFlow()
|
|
194
|
+
* // ... display code to user ...
|
|
195
|
+
* const token = await completeDODeviceFlow(auth.deviceCode, auth.interval, auth.expiresIn)
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
export declare function completeDODeviceFlow(deviceCode: string, interval: number, expiresIn: number, options?: DOStorageConfig): Promise<string>;
|
|
199
|
+
export { createSecureStorage, configure as configureOAuth, getConfig as getOAuthConfig } from 'oauth.do';
|
|
200
|
+
export type { TokenStorage, StoredTokenData, OAuthConfig };
|
|
201
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../sdk/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/auth.js
ADDED
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DO Authentication Module
|
|
3
|
+
*
|
|
4
|
+
* Wraps oauth.do for Digital Object authentication.
|
|
5
|
+
* Provides both CLI (browser launch) and headless (device flow) modes.
|
|
6
|
+
*
|
|
7
|
+
* @module @do/sdk/auth
|
|
8
|
+
*/
|
|
9
|
+
import { getToken, isAuthenticated, createSecureStorage, configure, getConfig, authorizeDevice, pollForTokens, } from 'oauth.do';
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// Configuration
|
|
12
|
+
// =============================================================================
|
|
13
|
+
const DEFAULT_DO_API_URL = 'https://api.do.md';
|
|
14
|
+
const DEFAULT_DO_STORAGE_PATH = '~/.do/tokens';
|
|
15
|
+
/**
|
|
16
|
+
* Get environment variable safely across platforms (Workers, Node, Browser)
|
|
17
|
+
*/
|
|
18
|
+
function getEnv(key) {
|
|
19
|
+
// Check globalThis first (works in Cloudflare Workers)
|
|
20
|
+
if (globalThis[key]) {
|
|
21
|
+
return globalThis[key];
|
|
22
|
+
}
|
|
23
|
+
// Check process.env for Node.js environments
|
|
24
|
+
const proc = globalThis.process;
|
|
25
|
+
if (proc?.env?.[key]) {
|
|
26
|
+
return proc.env[key];
|
|
27
|
+
}
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Configure DO authentication
|
|
32
|
+
* Call this before using any auth functions if you need custom settings
|
|
33
|
+
*/
|
|
34
|
+
export function configureDOAuth(options) {
|
|
35
|
+
configure({
|
|
36
|
+
apiUrl: options.apiUrl || getEnv('DO_API_URL') || DEFAULT_DO_API_URL,
|
|
37
|
+
clientId: options.clientId || getEnv('DO_CLIENT_ID'),
|
|
38
|
+
storagePath: options.storagePath || getEnv('DO_STORAGE_PATH') || DEFAULT_DO_STORAGE_PATH,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get the configured DO storage instance
|
|
43
|
+
*/
|
|
44
|
+
function getDOStorage(options = {}) {
|
|
45
|
+
if (options.storage) {
|
|
46
|
+
return options.storage;
|
|
47
|
+
}
|
|
48
|
+
const config = getConfig();
|
|
49
|
+
const storagePath = options.storagePath || config.storagePath || DEFAULT_DO_STORAGE_PATH;
|
|
50
|
+
return createSecureStorage(storagePath);
|
|
51
|
+
}
|
|
52
|
+
// =============================================================================
|
|
53
|
+
// Main Auth Functions
|
|
54
|
+
// =============================================================================
|
|
55
|
+
/**
|
|
56
|
+
* Ensure the user is authenticated with DO.
|
|
57
|
+
*
|
|
58
|
+
* This is the primary authentication function for DO applications.
|
|
59
|
+
* It handles:
|
|
60
|
+
* - Checking for existing valid tokens
|
|
61
|
+
* - Refreshing expired tokens
|
|
62
|
+
* - Initiating device flow login when needed
|
|
63
|
+
*
|
|
64
|
+
* @param options - Authentication options
|
|
65
|
+
* @returns Authentication result with token
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* // CLI mode - opens browser automatically
|
|
70
|
+
* const { token } = await ensureDOAuth()
|
|
71
|
+
*
|
|
72
|
+
* // Headless mode - prints code for manual entry
|
|
73
|
+
* const { token } = await ensureDOAuth({ headless: true })
|
|
74
|
+
*
|
|
75
|
+
* // Use token with DO client
|
|
76
|
+
* const client = createClient({
|
|
77
|
+
* url: 'https://my-do.workers.dev',
|
|
78
|
+
* id: 'my-instance',
|
|
79
|
+
* token,
|
|
80
|
+
* })
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export async function ensureDOAuth(options = {}) {
|
|
84
|
+
// Configure if custom settings provided
|
|
85
|
+
if (options.apiUrl || options.clientId || options.storagePath) {
|
|
86
|
+
configureDOAuth({
|
|
87
|
+
apiUrl: options.apiUrl,
|
|
88
|
+
clientId: options.clientId,
|
|
89
|
+
storagePath: options.storagePath,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
const storage = getDOStorage(options);
|
|
93
|
+
// For headless mode, use our own device flow implementation
|
|
94
|
+
if (options.headless) {
|
|
95
|
+
// Check for existing valid token first
|
|
96
|
+
const existingToken = await storage.getToken();
|
|
97
|
+
if (existingToken) {
|
|
98
|
+
const tokenData = storage.getTokenData ? await storage.getTokenData() : null;
|
|
99
|
+
// If we have expiration info and token is not expired, return it
|
|
100
|
+
if (tokenData?.expiresAt) {
|
|
101
|
+
const now = Date.now();
|
|
102
|
+
const bufferMs = 5 * 60 * 1000; // 5 minute buffer
|
|
103
|
+
if (tokenData.expiresAt > now + bufferMs) {
|
|
104
|
+
return { token: existingToken, isNewLogin: false };
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
// No expiration info - assume token is valid
|
|
109
|
+
return { token: existingToken, isNewLogin: false };
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// No valid token - start device flow
|
|
113
|
+
return doDeviceFlowHeadless(options, storage);
|
|
114
|
+
}
|
|
115
|
+
// Try browser-based login using oauth.do/node
|
|
116
|
+
return doDeviceFlowBrowser(options, storage);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Device flow with browser auto-launch (CLI mode)
|
|
120
|
+
* Uses oauth.do/node's ensureLoggedIn which handles token refresh automatically
|
|
121
|
+
*/
|
|
122
|
+
async function doDeviceFlowBrowser(options, storage) {
|
|
123
|
+
const { openBrowser = true, print = console.log, provider } = options;
|
|
124
|
+
try {
|
|
125
|
+
// Dynamically import node-specific module which has browser launch capabilities
|
|
126
|
+
const loginModule = await import('oauth.do/node');
|
|
127
|
+
const result = await loginModule.ensureLoggedIn({
|
|
128
|
+
openBrowser,
|
|
129
|
+
print,
|
|
130
|
+
provider,
|
|
131
|
+
storage,
|
|
132
|
+
});
|
|
133
|
+
return { token: result.token, isNewLogin: result.isNewLogin };
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
// Fall back to headless mode if browser launch fails
|
|
137
|
+
print('Browser launch not available, using device flow...\n');
|
|
138
|
+
return doDeviceFlowHeadless(options, storage);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Device flow without browser (headless mode)
|
|
143
|
+
*/
|
|
144
|
+
async function doDeviceFlowHeadless(options, storage) {
|
|
145
|
+
const { print = console.log, provider } = options;
|
|
146
|
+
print('\nStarting device authorization...\n');
|
|
147
|
+
const authResponse = await authorizeDevice({ provider });
|
|
148
|
+
print('To complete login:');
|
|
149
|
+
print(` 1. Visit: ${authResponse.verification_uri}`);
|
|
150
|
+
print(` 2. Enter code: ${authResponse.user_code}`);
|
|
151
|
+
print(`\n Or open: ${authResponse.verification_uri_complete}\n`);
|
|
152
|
+
print('Waiting for authorization...\n');
|
|
153
|
+
const tokenResponse = await pollForTokens(authResponse.device_code, authResponse.interval, authResponse.expires_in);
|
|
154
|
+
// Store the token
|
|
155
|
+
const expiresAt = tokenResponse.expires_in ? Date.now() + tokenResponse.expires_in * 1000 : undefined;
|
|
156
|
+
const newData = {
|
|
157
|
+
accessToken: tokenResponse.access_token,
|
|
158
|
+
refreshToken: tokenResponse.refresh_token,
|
|
159
|
+
expiresAt,
|
|
160
|
+
};
|
|
161
|
+
if (storage.setTokenData) {
|
|
162
|
+
await storage.setTokenData(newData);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
await storage.setToken(tokenResponse.access_token);
|
|
166
|
+
}
|
|
167
|
+
print('Login successful!\n');
|
|
168
|
+
return { token: tokenResponse.access_token, isNewLogin: true };
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get the current DO authentication token.
|
|
172
|
+
*
|
|
173
|
+
* Returns null if not authenticated.
|
|
174
|
+
*
|
|
175
|
+
* @param options - Storage configuration options
|
|
176
|
+
* @returns The current token or null
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* const token = await getDOToken()
|
|
181
|
+
* if (token) {
|
|
182
|
+
* console.log('Authenticated')
|
|
183
|
+
* } else {
|
|
184
|
+
* console.log('Not authenticated')
|
|
185
|
+
* }
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export async function getDOToken(options = {}) {
|
|
189
|
+
// First check oauth.do's built-in token getter (checks env vars)
|
|
190
|
+
const envToken = await getToken();
|
|
191
|
+
if (envToken) {
|
|
192
|
+
return envToken;
|
|
193
|
+
}
|
|
194
|
+
// Then check local storage
|
|
195
|
+
const storage = getDOStorage(options);
|
|
196
|
+
return storage.getToken();
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Check if the user is currently authenticated with DO.
|
|
200
|
+
*
|
|
201
|
+
* @param options - Storage configuration options
|
|
202
|
+
* @returns True if authenticated with a valid token
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```typescript
|
|
206
|
+
* if (await isDOAuthenticated()) {
|
|
207
|
+
* // User is logged in
|
|
208
|
+
* } else {
|
|
209
|
+
* await ensureDOAuth()
|
|
210
|
+
* }
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
export async function isDOAuthenticated(options = {}) {
|
|
214
|
+
// Check oauth.do's built-in check first (checks env vars)
|
|
215
|
+
if (await isAuthenticated()) {
|
|
216
|
+
return true;
|
|
217
|
+
}
|
|
218
|
+
// Check local storage
|
|
219
|
+
const storage = getDOStorage(options);
|
|
220
|
+
const token = await storage.getToken();
|
|
221
|
+
if (!token) {
|
|
222
|
+
return false;
|
|
223
|
+
}
|
|
224
|
+
// Check if token is expired
|
|
225
|
+
if (storage.getTokenData) {
|
|
226
|
+
const tokenData = await storage.getTokenData();
|
|
227
|
+
if (tokenData?.expiresAt) {
|
|
228
|
+
return tokenData.expiresAt > Date.now();
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return true;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Force a new login, ignoring any existing token.
|
|
235
|
+
*
|
|
236
|
+
* @param options - Authentication options
|
|
237
|
+
* @returns Authentication result with new token
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```typescript
|
|
241
|
+
* // Force re-authentication
|
|
242
|
+
* const { token } = await forceReauthDO()
|
|
243
|
+
* ```
|
|
244
|
+
*/
|
|
245
|
+
export async function forceReauthDO(options = {}) {
|
|
246
|
+
const storage = getDOStorage(options);
|
|
247
|
+
await storage.removeToken();
|
|
248
|
+
return ensureDOAuth(options);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Log out from DO, clearing stored credentials.
|
|
252
|
+
*
|
|
253
|
+
* @param options - Storage configuration options
|
|
254
|
+
*
|
|
255
|
+
* @example
|
|
256
|
+
* ```typescript
|
|
257
|
+
* await logoutDO()
|
|
258
|
+
* console.log('Logged out')
|
|
259
|
+
* ```
|
|
260
|
+
*/
|
|
261
|
+
export async function logoutDO(options = {}) {
|
|
262
|
+
const { print = console.log } = options;
|
|
263
|
+
const storage = getDOStorage(options);
|
|
264
|
+
await storage.removeToken();
|
|
265
|
+
print('Logged out from DO\n');
|
|
266
|
+
}
|
|
267
|
+
// =============================================================================
|
|
268
|
+
// Device Flow Utilities
|
|
269
|
+
// =============================================================================
|
|
270
|
+
/**
|
|
271
|
+
* Start a device flow authorization manually.
|
|
272
|
+
*
|
|
273
|
+
* This is useful for custom UIs that want to display the verification
|
|
274
|
+
* code and URL themselves.
|
|
275
|
+
*
|
|
276
|
+
* @param options - Device flow options
|
|
277
|
+
* @returns Device authorization response
|
|
278
|
+
*
|
|
279
|
+
* @example
|
|
280
|
+
* ```typescript
|
|
281
|
+
* const auth = await startDODeviceFlow()
|
|
282
|
+
* console.log(`Visit ${auth.verificationUri} and enter code ${auth.userCode}`)
|
|
283
|
+
*
|
|
284
|
+
* // Then poll for completion
|
|
285
|
+
* const token = await completeDODeviceFlow(auth.deviceCode, auth.interval, auth.expiresIn)
|
|
286
|
+
* ```
|
|
287
|
+
*/
|
|
288
|
+
export async function startDODeviceFlow(options = {}) {
|
|
289
|
+
if (options.apiUrl || options.clientId) {
|
|
290
|
+
configureDOAuth({
|
|
291
|
+
apiUrl: options.apiUrl,
|
|
292
|
+
clientId: options.clientId,
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
const response = await authorizeDevice({ provider: options.provider });
|
|
296
|
+
return {
|
|
297
|
+
verificationUri: response.verification_uri,
|
|
298
|
+
verificationUriComplete: response.verification_uri_complete,
|
|
299
|
+
userCode: response.user_code,
|
|
300
|
+
deviceCode: response.device_code,
|
|
301
|
+
interval: response.interval,
|
|
302
|
+
expiresIn: response.expires_in,
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Complete a device flow authorization by polling for tokens.
|
|
307
|
+
*
|
|
308
|
+
* @param deviceCode - Device code from startDODeviceFlow
|
|
309
|
+
* @param interval - Polling interval in seconds
|
|
310
|
+
* @param expiresIn - Expiration time in seconds
|
|
311
|
+
* @param options - Storage options
|
|
312
|
+
* @returns The access token
|
|
313
|
+
*
|
|
314
|
+
* @example
|
|
315
|
+
* ```typescript
|
|
316
|
+
* const auth = await startDODeviceFlow()
|
|
317
|
+
* // ... display code to user ...
|
|
318
|
+
* const token = await completeDODeviceFlow(auth.deviceCode, auth.interval, auth.expiresIn)
|
|
319
|
+
* ```
|
|
320
|
+
*/
|
|
321
|
+
export async function completeDODeviceFlow(deviceCode, interval, expiresIn, options = {}) {
|
|
322
|
+
const storage = getDOStorage(options);
|
|
323
|
+
const tokenResponse = await pollForTokens(deviceCode, interval, expiresIn);
|
|
324
|
+
// Store the token
|
|
325
|
+
const expiresAt = tokenResponse.expires_in ? Date.now() + tokenResponse.expires_in * 1000 : undefined;
|
|
326
|
+
const newData = {
|
|
327
|
+
accessToken: tokenResponse.access_token,
|
|
328
|
+
refreshToken: tokenResponse.refresh_token,
|
|
329
|
+
expiresAt,
|
|
330
|
+
};
|
|
331
|
+
if (storage.setTokenData) {
|
|
332
|
+
await storage.setTokenData(newData);
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
await storage.setToken(tokenResponse.access_token);
|
|
336
|
+
}
|
|
337
|
+
return tokenResponse.access_token;
|
|
338
|
+
}
|
|
339
|
+
// =============================================================================
|
|
340
|
+
// Re-exports from oauth.do
|
|
341
|
+
// =============================================================================
|
|
342
|
+
export { createSecureStorage, configure as configureOAuth, getConfig as getOAuthConfig } from 'oauth.do';
|
|
343
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../sdk/auth.ts"],"names":[],"mappings":"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"}
|