@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
package/README.md
ADDED
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
# [DO](https://objects.do)
|
|
2
|
+
|
|
3
|
+
> Every Thing IS a Digital Object IN a Durable Object.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
import { DO } from '@dotdo/do'
|
|
7
|
+
|
|
8
|
+
const $ = DO('https://mystartup.ai')
|
|
9
|
+
|
|
10
|
+
const idea = await $.ai`what should we build next?`
|
|
11
|
+
const spec = await $.db.Product.create({ name: idea, status: 'planning' })
|
|
12
|
+
|
|
13
|
+
await $.slack`#product New idea: ${idea}`
|
|
14
|
+
await $.email.to(founder)`Your next product: ${spec.name}`
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
That's a product ideation workflow. Running on the edge. With a database, AI, Slack, and email.
|
|
18
|
+
|
|
19
|
+
## You're Building a Business
|
|
20
|
+
|
|
21
|
+
Maybe it's a SaaS app. Maybe it's a startup studio generating thousands of companies. Maybe it's an AI agent platform.
|
|
22
|
+
|
|
23
|
+
Whatever it is, you need:
|
|
24
|
+
- A database
|
|
25
|
+
- AI capabilities
|
|
26
|
+
- Payments
|
|
27
|
+
- Email, Slack, SMS
|
|
28
|
+
- Phone calls and voice agents
|
|
29
|
+
- Custom domains
|
|
30
|
+
- User authentication
|
|
31
|
+
|
|
32
|
+
Traditionally, that's a dozen services, a maze of API keys, and weeks of integration work.
|
|
33
|
+
|
|
34
|
+
**With DO, it's one line.**
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
import { DO } from '@dotdo/do'
|
|
38
|
+
|
|
39
|
+
const $ = DO('https://mystartup.ai')
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Just Say What You Want
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
import { DO } from '@dotdo/do'
|
|
46
|
+
|
|
47
|
+
const $ = DO('https://mystartup.ai')
|
|
48
|
+
|
|
49
|
+
// AI that understands you
|
|
50
|
+
const summary = await $.ai`summarize ${document}`
|
|
51
|
+
const ideas = await $.ai.list`10 features for ${product}`
|
|
52
|
+
const viable = await $.ai.is`${idea} is technically feasible`
|
|
53
|
+
|
|
54
|
+
// Database that speaks English
|
|
55
|
+
const stuck = await $.db.Order`what's stuck in processing?`
|
|
56
|
+
const vips = await $.db.Customer`high value this quarter`
|
|
57
|
+
|
|
58
|
+
// Communication that flows
|
|
59
|
+
await $.email.to(user)`Your order ${order.id} shipped!`
|
|
60
|
+
await $.slack`#alerts New VIP signup: ${customer.name}`
|
|
61
|
+
await $.sms`${contact.phone} Your appointment is tomorrow`
|
|
62
|
+
|
|
63
|
+
// Payments that just work
|
|
64
|
+
await $.pay`charge ${customer} $${amount}`
|
|
65
|
+
const mrr = await $.pay.mrr()
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
No method names to memorize. No parameters to look up. Just say what you want.
|
|
69
|
+
|
|
70
|
+
## Everything Reacts
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
import { DO } from '@dotdo/do'
|
|
74
|
+
|
|
75
|
+
const $ = DO('https://mystartup.ai')
|
|
76
|
+
|
|
77
|
+
// When a customer signs up
|
|
78
|
+
$.on.Customer.created(async customer => {
|
|
79
|
+
await $.email`welcome ${customer.name} to ${customer.email}`
|
|
80
|
+
await $.slack`#sales New signup: ${customer.name}`
|
|
81
|
+
await $.pay.createCustomer(customer)
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
// When an order is placed
|
|
85
|
+
$.on.Order.placed(async order => {
|
|
86
|
+
await $.pay.charge(order.customerId, order.total)
|
|
87
|
+
await $.email.to(order.email)`Order ${order.id} confirmed!`
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
// Every Monday at 9am
|
|
91
|
+
$.every.Monday.at9am(async () => {
|
|
92
|
+
const report = await $.ai`generate weekly metrics`
|
|
93
|
+
await $.slack`#metrics ${report}`
|
|
94
|
+
})
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Event-driven. Time-driven. Automatic.
|
|
98
|
+
|
|
99
|
+
## Your Business, Hierarchical
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
startups.studio (Your Business)
|
|
103
|
+
└─ headless.ly (A Startup You Generated)
|
|
104
|
+
└─ crm.headless.ly (Its SaaS Product)
|
|
105
|
+
└─ crm.headless.ly/acme (A Customer Tenant)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Each level is a full DO. Each has its own database, AI, payments, domains.
|
|
109
|
+
|
|
110
|
+
Each operates independently. Changes flow up automatically.
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
// headless.ly knows it came from startups.studio
|
|
114
|
+
const startup = {
|
|
115
|
+
$id: 'https://headless.ly',
|
|
116
|
+
$type: 'https://startups.studio/Startup', // Type URL (relative to $context)
|
|
117
|
+
$context: 'https://startups.studio', // Parent reference
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Or use an external schema
|
|
121
|
+
const agent = {
|
|
122
|
+
$id: 'https://agents.do/sales',
|
|
123
|
+
$type: 'https://schema.org.ai/Agent', // External schema type
|
|
124
|
+
$context: 'https://agents.do',
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Events bubble up the chain
|
|
128
|
+
// crm/acme → crm → headless.ly → startups.studio → analytics
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Voice AI That Calls
|
|
132
|
+
|
|
133
|
+
```typescript
|
|
134
|
+
import { DO } from '@dotdo/do'
|
|
135
|
+
|
|
136
|
+
const $ = DO('https://mystartup.ai')
|
|
137
|
+
|
|
138
|
+
// Create a voice agent
|
|
139
|
+
const agent = await $.voice.agent`sales assistant for ${product}`
|
|
140
|
+
|
|
141
|
+
// Make it call someone
|
|
142
|
+
await $.call(lead.phone)`schedule a demo for ${product}`
|
|
143
|
+
|
|
144
|
+
// Or run a campaign
|
|
145
|
+
await $.voice.campaign(contacts, agentId)
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Real phone calls. Real conversations. Real results.
|
|
149
|
+
|
|
150
|
+
## Payments That Flow
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
import { DO } from '@dotdo/do'
|
|
154
|
+
|
|
155
|
+
const $ = DO('https://mystartup.ai')
|
|
156
|
+
|
|
157
|
+
// Charge customers
|
|
158
|
+
await $.pay.charge(customerId, 1000, 'usd')
|
|
159
|
+
|
|
160
|
+
// Pay out to vendors
|
|
161
|
+
await $.pay.transfer(vendorAccount, 900)
|
|
162
|
+
|
|
163
|
+
// Full accounting
|
|
164
|
+
await $.pay.journal({
|
|
165
|
+
debit: [{ account: 'revenue', amount: 1000 }],
|
|
166
|
+
credit: [{ account: 'cash', amount: 1000 }]
|
|
167
|
+
})
|
|
168
|
+
|
|
169
|
+
// Real-time metrics
|
|
170
|
+
const { mrr, arr, growth } = await $.pay.mrr()
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Stripe Connect. Double-entry accounting. P&L reports. Built in.
|
|
174
|
+
|
|
175
|
+
## Domains Included
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
import { DO } from '@dotdo/do'
|
|
179
|
+
|
|
180
|
+
const $ = DO('https://mystartup.ai')
|
|
181
|
+
|
|
182
|
+
// Grab a subdomain on 50+ platform TLDs
|
|
183
|
+
await $.domain`acme.saas.group`
|
|
184
|
+
await $.domain`myapp.hq.com.ai`
|
|
185
|
+
await $.domain`startup.io.sb`
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Free subdomains. Automatic SSL. Instant DNS.
|
|
189
|
+
|
|
190
|
+
## The $context Pattern
|
|
191
|
+
|
|
192
|
+
Every DO knows where it came from:
|
|
193
|
+
|
|
194
|
+
```typescript
|
|
195
|
+
// A tenant inside a SaaS app
|
|
196
|
+
const tenant = {
|
|
197
|
+
$id: 'https://crm.headless.ly/acme',
|
|
198
|
+
$type: 'https://crm.headless.ly/Tenant', // Type URL from parent
|
|
199
|
+
$context: 'https://crm.headless.ly', // Points to parent
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// Changes flow up the chain automatically
|
|
203
|
+
// tenant → app → startup → studio → R2/Iceberg
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
This enables:
|
|
207
|
+
- **CDC Streaming** - Every change flows to parent
|
|
208
|
+
- **Analytics** - Aggregate data at any level
|
|
209
|
+
- **Billing** - Roll up costs hierarchically
|
|
210
|
+
- **Permissions** - Inherit from parent context
|
|
211
|
+
|
|
212
|
+
## Why Not Traditional Architecture?
|
|
213
|
+
|
|
214
|
+
| Traditional | DO |
|
|
215
|
+
|-------------|-----|
|
|
216
|
+
| Startups as database rows | Startups as autonomous units |
|
|
217
|
+
| Central coordination | Independent operation |
|
|
218
|
+
| Shared state conflicts | Isolated state per entity |
|
|
219
|
+
| One database for everything | Database per entity |
|
|
220
|
+
| Single point of failure | Distributed by default |
|
|
221
|
+
|
|
222
|
+
We tried the traditional way. 35 packages. 81 workers. Collapsed under its own weight.
|
|
223
|
+
|
|
224
|
+
DO is simple: **1 package, 1 worker, 1 Durable Object**.
|
|
225
|
+
|
|
226
|
+
## Get Started
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
npm install @dotdo/do
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
```typescript
|
|
233
|
+
import { DO } from '@dotdo/do'
|
|
234
|
+
|
|
235
|
+
// Connect to any Digital Object
|
|
236
|
+
const $ = DO('https://mystartup.ai')
|
|
237
|
+
|
|
238
|
+
// Use it
|
|
239
|
+
const answer = await $.ai`what should we build?`
|
|
240
|
+
const products = await $.db.Product.list()
|
|
241
|
+
await $.slack`#updates ${answer}`
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
That's a full business platform. Running on the edge. Done.
|
|
245
|
+
|
|
246
|
+
## Development
|
|
247
|
+
|
|
248
|
+
### Prerequisites
|
|
249
|
+
|
|
250
|
+
- [Node.js](https://nodejs.org/) 18+
|
|
251
|
+
- [pnpm](https://pnpm.io/) 9+
|
|
252
|
+
- [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/)
|
|
253
|
+
|
|
254
|
+
### Install Dependencies
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
pnpm install
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### Run Locally
|
|
261
|
+
|
|
262
|
+
Start the development server with local Durable Objects and bindings:
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
# Default development mode
|
|
266
|
+
wrangler dev
|
|
267
|
+
|
|
268
|
+
# With local persistence (data survives restarts)
|
|
269
|
+
wrangler dev --persist-to .wrangler/state
|
|
270
|
+
|
|
271
|
+
# Using development config
|
|
272
|
+
wrangler dev --config wrangler.dev.toml
|
|
273
|
+
|
|
274
|
+
# With remote resources (connect to actual Cloudflare services)
|
|
275
|
+
wrangler dev --remote
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
The server runs at `http://localhost:8787` by default.
|
|
279
|
+
|
|
280
|
+
### Local Secrets
|
|
281
|
+
|
|
282
|
+
Create a `.dev.vars` file in the project root for local secrets:
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
STRIPE_SECRET_KEY=sk_test_...
|
|
286
|
+
WORKOS_API_KEY=sk_test_...
|
|
287
|
+
OPENAI_API_KEY=sk-...
|
|
288
|
+
ANTHROPIC_API_KEY=sk-ant-...
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### Deploy
|
|
292
|
+
|
|
293
|
+
Deploy to Cloudflare Workers:
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
# Deploy to development (default)
|
|
297
|
+
wrangler deploy
|
|
298
|
+
|
|
299
|
+
# Deploy to staging
|
|
300
|
+
wrangler deploy --env staging
|
|
301
|
+
|
|
302
|
+
# Deploy to production
|
|
303
|
+
wrangler deploy --env production
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### Set Production Secrets
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
# Set secrets for production
|
|
310
|
+
wrangler secret put STRIPE_SECRET_KEY --env production
|
|
311
|
+
wrangler secret put WORKOS_API_KEY --env production
|
|
312
|
+
wrangler secret put OPENAI_API_KEY --env production
|
|
313
|
+
wrangler secret put ANTHROPIC_API_KEY --env production
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Tail Logs
|
|
317
|
+
|
|
318
|
+
View real-time logs from deployed workers:
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
# Tail the main worker
|
|
322
|
+
wrangler tail
|
|
323
|
+
|
|
324
|
+
# Tail with filters
|
|
325
|
+
wrangler tail --format pretty
|
|
326
|
+
|
|
327
|
+
# Tail specific environment
|
|
328
|
+
wrangler tail --env production
|
|
329
|
+
|
|
330
|
+
# Tail the observability worker
|
|
331
|
+
wrangler tail do-tail
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### Useful Commands
|
|
335
|
+
|
|
336
|
+
```bash
|
|
337
|
+
# Type check
|
|
338
|
+
pnpm check
|
|
339
|
+
|
|
340
|
+
# Run tests
|
|
341
|
+
pnpm test
|
|
342
|
+
|
|
343
|
+
# Build
|
|
344
|
+
pnpm build
|
|
345
|
+
|
|
346
|
+
# List all deployed workers
|
|
347
|
+
wrangler deployments list
|
|
348
|
+
|
|
349
|
+
# View worker metrics
|
|
350
|
+
wrangler metrics
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## Platform Services
|
|
356
|
+
|
|
357
|
+
Everything you need, integrated:
|
|
358
|
+
|
|
359
|
+
| What | How |
|
|
360
|
+
|------|-----|
|
|
361
|
+
| **Database** | `$.db.User.list()`, `$.db.Order\`stuck in processing?\`` |
|
|
362
|
+
| **AI** | `$.ai\`summarize this\``, `$.ai.list\`10 ideas\``, `$.ai.is\`feasible?\`` |
|
|
363
|
+
| **Payments** | `$.pay.charge()`, `$.pay.transfer()`, `$.pay.mrr()` |
|
|
364
|
+
| **Email** | `$.email\`welcome ${name}\``, `$.email.to(addr)\`message\`` |
|
|
365
|
+
| **Slack** | `$.slack\`#channel message\`` |
|
|
366
|
+
| **SMS** | `$.sms\`${phone} reminder\`` |
|
|
367
|
+
| **Voice** | `$.voice.agent\`sales assistant\``, `$.call(phone)\`book demo\`` |
|
|
368
|
+
| **Domains** | `$.domain\`app.saas.group\`` |
|
|
369
|
+
| **Events** | `$.on.Customer.created()`, `$.on.Order.placed()` |
|
|
370
|
+
| **Schedules** | `$.every.Monday.at9am()`, `$.every.hour()` |
|
|
371
|
+
|
|
372
|
+
## Deep Integrations
|
|
373
|
+
|
|
374
|
+
| Integration | What It Does |
|
|
375
|
+
|-------------|--------------|
|
|
376
|
+
| **Stripe Connect** | Payments, transfers, accounting, P&L |
|
|
377
|
+
| **WorkOS** | Auth, SSO, directory sync, RBAC |
|
|
378
|
+
| **GitHub** | Git sync, repos, PRs, issues |
|
|
379
|
+
| **Cloudflare** | Domains, DNS, SSL, edge compute |
|
|
380
|
+
|
|
381
|
+
## Foundational Projects
|
|
382
|
+
|
|
383
|
+
| Project | Purpose |
|
|
384
|
+
|---------|---------|
|
|
385
|
+
| [workers.do](https://workers.do) | Tagged template AI agents |
|
|
386
|
+
| [db4.ai](https://db4.ai) | 4-paradigm edge database |
|
|
387
|
+
| [schema.org.ai](https://schema.org.ai) | AI-native schema extensions |
|
|
388
|
+
| [id.org.ai](https://id.org.ai) | Unified identity for humans + AI |
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
**Solo founders** — Build with AI, not infrastructure.
|
|
393
|
+
|
|
394
|
+
**Small teams** — Focus on product, not plumbing.
|
|
395
|
+
|
|
396
|
+
**Enterprises** — Scale to millions of autonomous entities.
|
|
397
|
+
|
|
398
|
+
---
|
|
399
|
+
|
|
400
|
+
[.do](https://platform) | [workers.do](https://workers.do) | [agents.do](https://agents.do) | [db4.ai](https://db4.ai)
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embeddings - Vector Representations
|
|
3
|
+
*
|
|
4
|
+
* Generate vector embeddings for semantic search and similarity.
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Single and batch embedding generation
|
|
8
|
+
* - Multiple provider support
|
|
9
|
+
* - Configurable dimensions
|
|
10
|
+
* - Caching for repeated texts
|
|
11
|
+
*
|
|
12
|
+
* @module ai/embeddings
|
|
13
|
+
*/
|
|
14
|
+
import type { EmbeddingOptions, EmbeddingResult, BatchEmbeddingResult, EmbeddingProvider } from '../types/ai';
|
|
15
|
+
/**
|
|
16
|
+
* Generate embedding for a single text
|
|
17
|
+
*
|
|
18
|
+
* @param text - The text to embed
|
|
19
|
+
* @param options - Embedding options
|
|
20
|
+
* @returns Embedding result with vector
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* // Simple embedding
|
|
25
|
+
* const result = await embed('Hello world')
|
|
26
|
+
* console.log(result.embedding) // number[]
|
|
27
|
+
* console.log(result.dimensions) // e.g., 1536
|
|
28
|
+
*
|
|
29
|
+
* // With options
|
|
30
|
+
* const result = await embed('Hello', {
|
|
31
|
+
* provider: 'openai',
|
|
32
|
+
* model: 'text-embedding-3-large',
|
|
33
|
+
* dimensions: 1024
|
|
34
|
+
* })
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function embed(text: string, options?: EmbeddingOptions): Promise<EmbeddingResult>;
|
|
38
|
+
/**
|
|
39
|
+
* Generate embeddings for multiple texts
|
|
40
|
+
*
|
|
41
|
+
* Automatically handles batching based on provider limits.
|
|
42
|
+
*
|
|
43
|
+
* @param texts - Array of texts to embed
|
|
44
|
+
* @param options - Embedding options
|
|
45
|
+
* @returns Batch embedding result
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const results = await embedBatch([
|
|
50
|
+
* 'First document',
|
|
51
|
+
* 'Second document',
|
|
52
|
+
* 'Third document'
|
|
53
|
+
* ])
|
|
54
|
+
*
|
|
55
|
+
* results.embeddings.forEach((e, i) => {
|
|
56
|
+
* console.log(`Document ${i}: ${e.dimensions} dimensions`)
|
|
57
|
+
* })
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function embedBatch(texts: string[], options?: EmbeddingOptions): Promise<BatchEmbeddingResult>;
|
|
61
|
+
/**
|
|
62
|
+
* Compute cosine similarity between two embeddings
|
|
63
|
+
*
|
|
64
|
+
* @param a - First embedding vector
|
|
65
|
+
* @param b - Second embedding vector
|
|
66
|
+
* @returns Similarity score between -1 and 1
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* const e1 = await embed('Hello')
|
|
71
|
+
* const e2 = await embed('Hi there')
|
|
72
|
+
* const similarity = cosineSimilarity(e1.embedding, e2.embedding)
|
|
73
|
+
* // => 0.85 (high similarity)
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare function cosineSimilarity(a: number[], b: number[]): number;
|
|
77
|
+
/**
|
|
78
|
+
* Compute Euclidean distance between two embeddings
|
|
79
|
+
*
|
|
80
|
+
* @param a - First embedding vector
|
|
81
|
+
* @param b - Second embedding vector
|
|
82
|
+
* @returns Distance (0 = identical)
|
|
83
|
+
*/
|
|
84
|
+
export declare function euclideanDistance(a: number[], b: number[]): number;
|
|
85
|
+
/**
|
|
86
|
+
* Find the most similar embeddings from a set
|
|
87
|
+
*
|
|
88
|
+
* @param query - Query embedding
|
|
89
|
+
* @param candidates - Array of candidate embeddings
|
|
90
|
+
* @param topK - Number of results to return
|
|
91
|
+
* @returns Indices and scores of most similar candidates
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* const queryEmbed = await embed('programming languages')
|
|
96
|
+
* const docEmbeds = await embedBatch(['Python', 'JavaScript', 'Cooking', 'Music'])
|
|
97
|
+
*
|
|
98
|
+
* const results = findSimilar(
|
|
99
|
+
* queryEmbed.embedding,
|
|
100
|
+
* docEmbeds.embeddings.map(e => e.embedding),
|
|
101
|
+
* 2
|
|
102
|
+
* )
|
|
103
|
+
* // => [{ index: 0, score: 0.9 }, { index: 1, score: 0.88 }]
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function findSimilar(query: number[], candidates: number[][], topK?: number): Array<{
|
|
107
|
+
index: number;
|
|
108
|
+
score: number;
|
|
109
|
+
}>;
|
|
110
|
+
/**
|
|
111
|
+
* Normalize embedding to unit length
|
|
112
|
+
*
|
|
113
|
+
* @param embedding - Embedding vector
|
|
114
|
+
* @returns Normalized vector
|
|
115
|
+
*/
|
|
116
|
+
export declare function normalizeEmbedding(embedding: number[]): number[];
|
|
117
|
+
/**
|
|
118
|
+
* Get the default model for a provider
|
|
119
|
+
*
|
|
120
|
+
* @internal
|
|
121
|
+
*/
|
|
122
|
+
export declare function getDefaultModel(provider: EmbeddingProvider): string;
|
|
123
|
+
/**
|
|
124
|
+
* Get the max batch size for a provider
|
|
125
|
+
*
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
128
|
+
export declare function getMaxBatchSize(provider: EmbeddingProvider): number;
|
|
129
|
+
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../ai/embeddings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAA;AA4BpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,KAAK,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAQ/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAgBjE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAYlE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAAE,EAAE,EACtB,IAAI,GAAE,MAAU,GACf,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CASzC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAEnE"}
|