@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":"snapshots.d.ts","sourceRoot":"","sources":["../../../db/storage/snapshots.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Snapshot Management
|
|
3
|
+
*
|
|
4
|
+
* Manages DO state snapshots for persistence, recovery, and archival.
|
|
5
|
+
* Supports full and incremental snapshots with tier promotion.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Full and incremental snapshot types
|
|
9
|
+
* - Vortex encoding for efficient storage
|
|
10
|
+
* - Automatic tier promotion (hot -> cold)
|
|
11
|
+
* - Retention policy enforcement
|
|
12
|
+
*
|
|
13
|
+
* @module @do/core/storage/snapshots
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Snapshot manager for DO state persistence
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const manager = new SnapshotManager({
|
|
21
|
+
* hot: hotStorage,
|
|
22
|
+
* cold: coldStorage,
|
|
23
|
+
* retention: {
|
|
24
|
+
* hot: { maxAge: days(7), maxCount: 100 },
|
|
25
|
+
* cold: { maxAge: years(7) },
|
|
26
|
+
* },
|
|
27
|
+
* })
|
|
28
|
+
*
|
|
29
|
+
* // Create full snapshot
|
|
30
|
+
* const snapshot = await manager.create('full', {
|
|
31
|
+
* doId: 'do_123',
|
|
32
|
+
* doType: 'UserStore',
|
|
33
|
+
* tables: { users: [...], orders: [...] },
|
|
34
|
+
* })
|
|
35
|
+
*
|
|
36
|
+
* // Create incremental snapshot
|
|
37
|
+
* const incremental = await manager.create('incremental', {
|
|
38
|
+
* doId: 'do_123',
|
|
39
|
+
* doType: 'UserStore',
|
|
40
|
+
* tables: { users: [...] },
|
|
41
|
+
* parentId: snapshot.id,
|
|
42
|
+
* changes: cdcEvents,
|
|
43
|
+
* })
|
|
44
|
+
*
|
|
45
|
+
* // Restore from snapshot
|
|
46
|
+
* const data = await manager.restore(snapshot.id)
|
|
47
|
+
*
|
|
48
|
+
* // Promote old snapshots to cold storage
|
|
49
|
+
* await manager.promote({ olderThan: days(30), targetTier: 'cold' })
|
|
50
|
+
*
|
|
51
|
+
* // Cleanup expired snapshots
|
|
52
|
+
* await manager.cleanup()
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export class SnapshotManager {
|
|
56
|
+
config;
|
|
57
|
+
/**
|
|
58
|
+
* Create a new snapshot manager
|
|
59
|
+
*
|
|
60
|
+
* @param config - Manager configuration
|
|
61
|
+
*/
|
|
62
|
+
constructor(config) {
|
|
63
|
+
this.config = {
|
|
64
|
+
retention: {
|
|
65
|
+
hot: { maxAge: 7 * 24 * 60 * 60 * 1000, maxCount: 100 },
|
|
66
|
+
cold: { maxAge: 7 * 365 * 24 * 60 * 60 * 1000, maxCount: null },
|
|
67
|
+
incrementalChainLength: 100,
|
|
68
|
+
},
|
|
69
|
+
...config,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Create a new snapshot
|
|
74
|
+
*
|
|
75
|
+
* @param type - Snapshot type (full or incremental)
|
|
76
|
+
* @param options - Snapshot data and options
|
|
77
|
+
* @returns Created snapshot
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* // Full snapshot
|
|
82
|
+
* const full = await manager.create('full', {
|
|
83
|
+
* doId: 'do_123',
|
|
84
|
+
* doType: 'Store',
|
|
85
|
+
* tables: { items: allItems },
|
|
86
|
+
* })
|
|
87
|
+
*
|
|
88
|
+
* // Incremental snapshot (only changes)
|
|
89
|
+
* const incr = await manager.create('incremental', {
|
|
90
|
+
* doId: 'do_123',
|
|
91
|
+
* doType: 'Store',
|
|
92
|
+
* tables: { items: changedItems },
|
|
93
|
+
* parentId: full.id,
|
|
94
|
+
* changes: recentCDCEvents,
|
|
95
|
+
* })
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
async create(type, options) {
|
|
99
|
+
// TODO: Implement snapshot creation
|
|
100
|
+
// 1. Generate snapshot ID and version
|
|
101
|
+
// 2. Encode tables with Vortex
|
|
102
|
+
// 3. Calculate metadata (size, checksum)
|
|
103
|
+
// 4. Store in hot tier
|
|
104
|
+
throw new Error('Not implemented');
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Restore data from a snapshot
|
|
108
|
+
*
|
|
109
|
+
* @param snapshotId - Snapshot ID to restore
|
|
110
|
+
* @param options - Restoration options
|
|
111
|
+
* @returns Restored snapshot data
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const data = await manager.restore(snapshotId)
|
|
116
|
+
* for (const [table, rows] of Object.entries(data.tables)) {
|
|
117
|
+
* await hot.bulkInsert(table, rows)
|
|
118
|
+
* }
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
async restore(snapshotId, options) {
|
|
122
|
+
// TODO: Implement snapshot restoration
|
|
123
|
+
// 1. Find snapshot (hot or cold)
|
|
124
|
+
// 2. Validate checksum if requested
|
|
125
|
+
// 3. Decode Vortex data
|
|
126
|
+
// 4. For incremental, apply chain
|
|
127
|
+
throw new Error('Not implemented');
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get a snapshot by ID
|
|
131
|
+
*
|
|
132
|
+
* @param snapshotId - Snapshot ID
|
|
133
|
+
* @returns Snapshot or null if not found
|
|
134
|
+
*/
|
|
135
|
+
async get(snapshotId) {
|
|
136
|
+
// TODO: Implement snapshot retrieval
|
|
137
|
+
throw new Error('Not implemented');
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* List snapshots
|
|
141
|
+
*
|
|
142
|
+
* @param options - List options
|
|
143
|
+
* @returns Array of snapshots
|
|
144
|
+
*/
|
|
145
|
+
async list(options) {
|
|
146
|
+
// TODO: Implement snapshot listing
|
|
147
|
+
throw new Error('Not implemented');
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Get the latest snapshot for a DO
|
|
151
|
+
*
|
|
152
|
+
* @param doId - DO ID
|
|
153
|
+
* @param type - Optional type filter
|
|
154
|
+
* @returns Latest snapshot or null
|
|
155
|
+
*/
|
|
156
|
+
async getLatest(doId, type) {
|
|
157
|
+
// TODO: Implement latest snapshot retrieval
|
|
158
|
+
throw new Error('Not implemented');
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Delete a snapshot
|
|
162
|
+
*
|
|
163
|
+
* @param snapshotId - Snapshot ID to delete
|
|
164
|
+
* @returns True if deleted
|
|
165
|
+
*/
|
|
166
|
+
async delete(snapshotId) {
|
|
167
|
+
// TODO: Implement snapshot deletion
|
|
168
|
+
throw new Error('Not implemented');
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Promote snapshots to cold storage
|
|
172
|
+
*
|
|
173
|
+
* Moves old snapshots from hot to cold tier for cost efficiency.
|
|
174
|
+
*
|
|
175
|
+
* @param options - Promotion options
|
|
176
|
+
* @returns Promotion result
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* const result = await manager.promote({
|
|
181
|
+
* olderThan: days(30),
|
|
182
|
+
* targetTier: 'cold',
|
|
183
|
+
* deleteAfterPromote: true,
|
|
184
|
+
* })
|
|
185
|
+
* console.log(`Promoted ${result.count} snapshots`)
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
async promote(options) {
|
|
189
|
+
// TODO: Implement tier promotion
|
|
190
|
+
throw new Error('Not implemented');
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Cleanup expired snapshots according to retention policy
|
|
194
|
+
*
|
|
195
|
+
* @returns Cleanup result
|
|
196
|
+
*/
|
|
197
|
+
async cleanup() {
|
|
198
|
+
// TODO: Implement cleanup
|
|
199
|
+
throw new Error('Not implemented');
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Get the incremental chain for a snapshot
|
|
203
|
+
*
|
|
204
|
+
* Returns all snapshots in the chain from the base full snapshot
|
|
205
|
+
* to the specified snapshot.
|
|
206
|
+
*
|
|
207
|
+
* @param snapshotId - Target snapshot ID
|
|
208
|
+
* @returns Chain of snapshots (oldest first)
|
|
209
|
+
*/
|
|
210
|
+
async getChain(snapshotId) {
|
|
211
|
+
// TODO: Implement chain retrieval
|
|
212
|
+
throw new Error('Not implemented');
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Consolidate incremental chain into a new full snapshot
|
|
216
|
+
*
|
|
217
|
+
* Creates a new full snapshot by applying all incrementals,
|
|
218
|
+
* reducing restore time for long chains.
|
|
219
|
+
*
|
|
220
|
+
* @param snapshotId - Latest incremental snapshot ID
|
|
221
|
+
* @returns New full snapshot
|
|
222
|
+
*/
|
|
223
|
+
async consolidate(snapshotId) {
|
|
224
|
+
// TODO: Implement chain consolidation
|
|
225
|
+
throw new Error('Not implemented');
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Get next version number for a DO
|
|
229
|
+
*
|
|
230
|
+
* @param doId - DO ID
|
|
231
|
+
* @returns Next version number
|
|
232
|
+
*/
|
|
233
|
+
async nextVersion(doId) {
|
|
234
|
+
// TODO: Implement version tracking
|
|
235
|
+
throw new Error('Not implemented');
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Calculate snapshot size
|
|
239
|
+
*
|
|
240
|
+
* @param tables - Table data
|
|
241
|
+
* @returns Size in bytes
|
|
242
|
+
*/
|
|
243
|
+
calculateSize(tables) {
|
|
244
|
+
let size = 0;
|
|
245
|
+
for (const rows of Object.values(tables)) {
|
|
246
|
+
size += JSON.stringify(rows).length;
|
|
247
|
+
}
|
|
248
|
+
return size;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Count total rows across tables
|
|
252
|
+
*
|
|
253
|
+
* @param tables - Table data
|
|
254
|
+
* @returns Total row count
|
|
255
|
+
*/
|
|
256
|
+
countRows(tables) {
|
|
257
|
+
return Object.values(tables).reduce((sum, rows) => sum + rows.length, 0);
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Generate checksum for snapshot data
|
|
261
|
+
*
|
|
262
|
+
* @param data - Data to checksum
|
|
263
|
+
* @returns Checksum string
|
|
264
|
+
*/
|
|
265
|
+
async generateChecksum(data) {
|
|
266
|
+
const text = JSON.stringify(data);
|
|
267
|
+
const encoder = new TextEncoder();
|
|
268
|
+
const buffer = encoder.encode(text);
|
|
269
|
+
const hashBuffer = await crypto.subtle.digest('SHA-256', buffer);
|
|
270
|
+
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
271
|
+
return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Helper: Convert milliseconds to days
|
|
276
|
+
*/
|
|
277
|
+
export function days(n) {
|
|
278
|
+
return n * 24 * 60 * 60 * 1000;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Helper: Convert milliseconds to years
|
|
282
|
+
*/
|
|
283
|
+
export function years(n) {
|
|
284
|
+
return n * 365 * 24 * 60 * 60 * 1000;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Helper: Check if snapshot is expired
|
|
288
|
+
*/
|
|
289
|
+
export function isExpired(snapshot, maxAge) {
|
|
290
|
+
return Date.now() - snapshot.timestamp > maxAge;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Helper: Get snapshot type from metadata
|
|
294
|
+
*/
|
|
295
|
+
export function getSnapshotType(snapshot) {
|
|
296
|
+
return snapshot.metadata?.type ?? 'Full';
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=snapshots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../../db/storage/snapshots.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vortex Blob Format
|
|
3
|
+
*
|
|
4
|
+
* Columnar blob encoding optimized for DO SQLite storage.
|
|
5
|
+
* Provides efficient storage and column-selective reads for analytical queries.
|
|
6
|
+
*
|
|
7
|
+
* Format structure:
|
|
8
|
+
* - Header: magic, version, column count, row count
|
|
9
|
+
* - Column data: per-column compressed data
|
|
10
|
+
* - Column index: column metadata and offsets
|
|
11
|
+
* - Footer: checksum, index offset
|
|
12
|
+
*
|
|
13
|
+
* @module @do/core/storage/vortex
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Vortex format magic bytes ("VRTX")
|
|
17
|
+
*/
|
|
18
|
+
export declare const VORTEX_MAGIC: Uint8Array<ArrayBuffer>;
|
|
19
|
+
/**
|
|
20
|
+
* Current Vortex format version
|
|
21
|
+
*/
|
|
22
|
+
export declare const VORTEX_VERSION = 1;
|
|
23
|
+
/**
|
|
24
|
+
* Column encoding types
|
|
25
|
+
*/
|
|
26
|
+
export type VortexEncoding = 'plain' | 'dictionary' | 'rle' | 'delta' | 'bitpack' | 'boolean';
|
|
27
|
+
/**
|
|
28
|
+
* Column data types
|
|
29
|
+
*/
|
|
30
|
+
export type VortexType = 'string' | 'int32' | 'int64' | 'float64' | 'boolean' | 'timestamp' | 'json' | 'binary';
|
|
31
|
+
/**
|
|
32
|
+
* Column schema definition
|
|
33
|
+
*/
|
|
34
|
+
export interface VortexColumn {
|
|
35
|
+
/** Column name */
|
|
36
|
+
name: string;
|
|
37
|
+
/** Data type */
|
|
38
|
+
type: VortexType;
|
|
39
|
+
/** Whether nulls are allowed */
|
|
40
|
+
nullable: boolean;
|
|
41
|
+
/** Encoding to use */
|
|
42
|
+
encoding?: VortexEncoding;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Vortex schema
|
|
46
|
+
*/
|
|
47
|
+
export interface VortexSchema {
|
|
48
|
+
/** Column definitions */
|
|
49
|
+
columns: VortexColumn[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Vortex blob metadata
|
|
53
|
+
*/
|
|
54
|
+
export interface VortexMetadata {
|
|
55
|
+
/** Format version */
|
|
56
|
+
version: number;
|
|
57
|
+
/** Number of rows */
|
|
58
|
+
rowCount: number;
|
|
59
|
+
/** Number of columns */
|
|
60
|
+
columnCount: number;
|
|
61
|
+
/** Uncompressed size in bytes */
|
|
62
|
+
uncompressedSize: number;
|
|
63
|
+
/** Compressed size in bytes */
|
|
64
|
+
compressedSize: number;
|
|
65
|
+
/** Compression ratio */
|
|
66
|
+
compressionRatio: number;
|
|
67
|
+
/** Creation timestamp */
|
|
68
|
+
createdAt: number;
|
|
69
|
+
/** Checksum */
|
|
70
|
+
checksum: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Column read result
|
|
74
|
+
*/
|
|
75
|
+
export interface ColumnData<T = unknown> {
|
|
76
|
+
/** Column name */
|
|
77
|
+
name: string;
|
|
78
|
+
/** Column values */
|
|
79
|
+
values: T[];
|
|
80
|
+
/** Null bitmap (if nullable) */
|
|
81
|
+
nullBitmap?: Uint8Array;
|
|
82
|
+
/** Statistics */
|
|
83
|
+
stats: ColumnStats;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Column statistics
|
|
87
|
+
*/
|
|
88
|
+
export interface ColumnStats {
|
|
89
|
+
/** Null count */
|
|
90
|
+
nullCount: number;
|
|
91
|
+
/** Distinct count (estimated) */
|
|
92
|
+
distinctCount: number;
|
|
93
|
+
/** Min value (for orderable types) */
|
|
94
|
+
min?: unknown;
|
|
95
|
+
/** Max value (for orderable types) */
|
|
96
|
+
max?: unknown;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Encoder options
|
|
100
|
+
*/
|
|
101
|
+
export interface EncoderOptions {
|
|
102
|
+
/** Compression level (0-9, default: 6) */
|
|
103
|
+
compressionLevel?: number;
|
|
104
|
+
/** Dictionary size limit for string columns */
|
|
105
|
+
maxDictionarySize?: number;
|
|
106
|
+
/** Enable statistics collection */
|
|
107
|
+
collectStats?: boolean;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Decoder options
|
|
111
|
+
*/
|
|
112
|
+
export interface DecoderOptions {
|
|
113
|
+
/** Validate checksum on read */
|
|
114
|
+
validateChecksum?: boolean;
|
|
115
|
+
/** Columns to read (null = all) */
|
|
116
|
+
columns?: string[];
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Vortex encoder for creating columnar blobs
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* const schema: VortexSchema = {
|
|
124
|
+
* columns: [
|
|
125
|
+
* { name: 'id', type: 'string', nullable: false },
|
|
126
|
+
* { name: 'name', type: 'string', nullable: false },
|
|
127
|
+
* { name: 'age', type: 'int32', nullable: true },
|
|
128
|
+
* ],
|
|
129
|
+
* }
|
|
130
|
+
*
|
|
131
|
+
* const encoder = new VortexEncoder(schema)
|
|
132
|
+
*
|
|
133
|
+
* // Add rows
|
|
134
|
+
* encoder.addRow({ id: '1', name: 'Alice', age: 30 })
|
|
135
|
+
* encoder.addRow({ id: '2', name: 'Bob', age: null })
|
|
136
|
+
*
|
|
137
|
+
* // Or add many at once
|
|
138
|
+
* encoder.addRows(moreUsers)
|
|
139
|
+
*
|
|
140
|
+
* // Finish and get blob
|
|
141
|
+
* const blob = encoder.finish()
|
|
142
|
+
*
|
|
143
|
+
* // Store in SQLite
|
|
144
|
+
* await db.exec('INSERT INTO vortex (data) VALUES (?)', [blob])
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export declare class VortexEncoder {
|
|
148
|
+
private readonly schema;
|
|
149
|
+
private readonly options?;
|
|
150
|
+
private rows;
|
|
151
|
+
private finished;
|
|
152
|
+
/**
|
|
153
|
+
* Create a new Vortex encoder
|
|
154
|
+
*
|
|
155
|
+
* @param schema - Column schema
|
|
156
|
+
* @param options - Encoder options
|
|
157
|
+
*/
|
|
158
|
+
constructor(schema: VortexSchema, options?: EncoderOptions | undefined);
|
|
159
|
+
/**
|
|
160
|
+
* Add a single row
|
|
161
|
+
*
|
|
162
|
+
* @param row - Row data (must match schema)
|
|
163
|
+
* @throws {Error} If encoder is already finished
|
|
164
|
+
*/
|
|
165
|
+
addRow(row: Record<string, unknown>): void;
|
|
166
|
+
/**
|
|
167
|
+
* Add multiple rows
|
|
168
|
+
*
|
|
169
|
+
* @param rows - Array of row data
|
|
170
|
+
* @throws {Error} If encoder is already finished
|
|
171
|
+
*/
|
|
172
|
+
addRows(rows: Record<string, unknown>[]): void;
|
|
173
|
+
/**
|
|
174
|
+
* Get current row count
|
|
175
|
+
*/
|
|
176
|
+
get rowCount(): number;
|
|
177
|
+
/**
|
|
178
|
+
* Finish encoding and return the blob
|
|
179
|
+
*
|
|
180
|
+
* @returns Vortex blob as ArrayBuffer
|
|
181
|
+
*/
|
|
182
|
+
finish(): ArrayBuffer;
|
|
183
|
+
/**
|
|
184
|
+
* Reset encoder for reuse
|
|
185
|
+
*/
|
|
186
|
+
reset(): void;
|
|
187
|
+
/**
|
|
188
|
+
* Get estimated blob size
|
|
189
|
+
*
|
|
190
|
+
* @returns Estimated size in bytes
|
|
191
|
+
*/
|
|
192
|
+
estimateSize(): number;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Vortex decoder for reading columnar blobs
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* ```typescript
|
|
199
|
+
* // Read blob from SQLite
|
|
200
|
+
* const blob = await db.query('SELECT data FROM vortex WHERE id = ?', [id])
|
|
201
|
+
*
|
|
202
|
+
* // Create decoder
|
|
203
|
+
* const decoder = new VortexDecoder(blob)
|
|
204
|
+
*
|
|
205
|
+
* // Read metadata
|
|
206
|
+
* const meta = decoder.getMetadata()
|
|
207
|
+
* console.log(`Rows: ${meta.rowCount}, Columns: ${meta.columnCount}`)
|
|
208
|
+
*
|
|
209
|
+
* // Read specific columns only (efficient)
|
|
210
|
+
* const names = decoder.readColumn<string>('name')
|
|
211
|
+
* const ages = decoder.readColumn<number>('age')
|
|
212
|
+
*
|
|
213
|
+
* // Or read all data
|
|
214
|
+
* const rows = decoder.readAll()
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
export declare class VortexDecoder {
|
|
218
|
+
private readonly blob;
|
|
219
|
+
private readonly options?;
|
|
220
|
+
private metadata;
|
|
221
|
+
/**
|
|
222
|
+
* Create a new Vortex decoder
|
|
223
|
+
*
|
|
224
|
+
* @param blob - Vortex blob data
|
|
225
|
+
* @param options - Decoder options
|
|
226
|
+
*/
|
|
227
|
+
constructor(blob: ArrayBuffer, options?: DecoderOptions | undefined);
|
|
228
|
+
/**
|
|
229
|
+
* Get blob metadata
|
|
230
|
+
*
|
|
231
|
+
* @returns Vortex metadata
|
|
232
|
+
*/
|
|
233
|
+
getMetadata(): VortexMetadata;
|
|
234
|
+
/**
|
|
235
|
+
* Get schema from blob
|
|
236
|
+
*
|
|
237
|
+
* @returns Column schema
|
|
238
|
+
*/
|
|
239
|
+
getSchema(): VortexSchema;
|
|
240
|
+
/**
|
|
241
|
+
* Read a single column
|
|
242
|
+
*
|
|
243
|
+
* Efficiently reads only the requested column without
|
|
244
|
+
* decoding the entire blob.
|
|
245
|
+
*
|
|
246
|
+
* @param name - Column name
|
|
247
|
+
* @returns Column data
|
|
248
|
+
*
|
|
249
|
+
* @example
|
|
250
|
+
* ```typescript
|
|
251
|
+
* const emails = decoder.readColumn<string>('email')
|
|
252
|
+
* console.log(emails.values) // ['alice@example.com', ...]
|
|
253
|
+
* console.log(emails.stats.nullCount)
|
|
254
|
+
* ```
|
|
255
|
+
*/
|
|
256
|
+
readColumn<T>(name: string): ColumnData<T>;
|
|
257
|
+
/**
|
|
258
|
+
* Read multiple columns
|
|
259
|
+
*
|
|
260
|
+
* @param names - Column names to read
|
|
261
|
+
* @returns Map of column name to column data
|
|
262
|
+
*/
|
|
263
|
+
readColumns(names: string[]): Map<string, ColumnData>;
|
|
264
|
+
/**
|
|
265
|
+
* Read all data as rows
|
|
266
|
+
*
|
|
267
|
+
* @returns Array of row objects
|
|
268
|
+
*/
|
|
269
|
+
readAll<T = Record<string, unknown>>(): T[];
|
|
270
|
+
/**
|
|
271
|
+
* Read rows in a range
|
|
272
|
+
*
|
|
273
|
+
* @param start - Start row index
|
|
274
|
+
* @param count - Number of rows to read
|
|
275
|
+
* @returns Array of row objects
|
|
276
|
+
*/
|
|
277
|
+
readRange<T = Record<string, unknown>>(start: number, count: number): T[];
|
|
278
|
+
/**
|
|
279
|
+
* Get column statistics without reading data
|
|
280
|
+
*
|
|
281
|
+
* @param name - Column name
|
|
282
|
+
* @returns Column statistics
|
|
283
|
+
*/
|
|
284
|
+
getColumnStats(name: string): ColumnStats;
|
|
285
|
+
/**
|
|
286
|
+
* Validate blob checksum
|
|
287
|
+
*
|
|
288
|
+
* @returns True if checksum is valid
|
|
289
|
+
*/
|
|
290
|
+
validate(): boolean;
|
|
291
|
+
/**
|
|
292
|
+
* Parse metadata from blob header
|
|
293
|
+
*/
|
|
294
|
+
private parseMetadata;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Infer schema from sample rows
|
|
298
|
+
*
|
|
299
|
+
* @param rows - Sample row data
|
|
300
|
+
* @returns Inferred schema
|
|
301
|
+
*
|
|
302
|
+
* @example
|
|
303
|
+
* ```typescript
|
|
304
|
+
* const schema = inferVortexSchema([
|
|
305
|
+
* { id: '1', name: 'Alice', age: 30 },
|
|
306
|
+
* { id: '2', name: 'Bob', age: null },
|
|
307
|
+
* ])
|
|
308
|
+
* // { columns: [
|
|
309
|
+
* // { name: 'id', type: 'string', nullable: false },
|
|
310
|
+
* // { name: 'name', type: 'string', nullable: false },
|
|
311
|
+
* // { name: 'age', type: 'int32', nullable: true },
|
|
312
|
+
* // ]}
|
|
313
|
+
* ```
|
|
314
|
+
*/
|
|
315
|
+
export declare function inferVortexSchema(rows: Record<string, unknown>[]): VortexSchema;
|
|
316
|
+
/**
|
|
317
|
+
* Calculate compression ratio
|
|
318
|
+
*
|
|
319
|
+
* @param original - Original size in bytes
|
|
320
|
+
* @param compressed - Compressed size in bytes
|
|
321
|
+
* @returns Compression ratio (e.g., 5.0 means 5x smaller)
|
|
322
|
+
*/
|
|
323
|
+
export declare function compressionRatio(original: number, compressed: number): number;
|
|
324
|
+
//# sourceMappingURL=vortex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vortex.d.ts","sourceRoot":"","sources":["../../../db/storage/vortex.ts"],"names":[],"mappings":"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"}
|