@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,510 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Collection - Generic CRUD operations for DO collections
|
|
3
|
+
*
|
|
4
|
+
* @module collections/base
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* Provides the foundational collection interface that all specialized collections
|
|
8
|
+
* extend. Uses Durable Object SQLite storage for persistence.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* class CustomerCollection extends BaseCollection<Customer> {
|
|
13
|
+
* constructor(ctx: DurableObjectState) {
|
|
14
|
+
* super(ctx, 'customers', 'cust')
|
|
15
|
+
* }
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* const customers = new CustomerCollection(ctx)
|
|
19
|
+
* const customer = await customers.create({ name: 'Acme' })
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Base collection class providing generic CRUD operations
|
|
24
|
+
*
|
|
25
|
+
* @description
|
|
26
|
+
* All DO collections extend this class to inherit standard CRUD operations,
|
|
27
|
+
* filtering, pagination, and storage abstraction. The class is generic over
|
|
28
|
+
* the entity type T, which must have an 'id' field.
|
|
29
|
+
*
|
|
30
|
+
* @typeParam T - Entity type with required 'id' field
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* interface Product {
|
|
35
|
+
* id: string
|
|
36
|
+
* name: string
|
|
37
|
+
* price: number
|
|
38
|
+
* createdAt: number
|
|
39
|
+
* updatedAt: number
|
|
40
|
+
* }
|
|
41
|
+
*
|
|
42
|
+
* class ProductCollection extends BaseCollection<Product> {
|
|
43
|
+
* constructor(storage: DOStorage) {
|
|
44
|
+
* super(storage, { name: 'products', idPrefix: 'prod' })
|
|
45
|
+
* }
|
|
46
|
+
*
|
|
47
|
+
* // Add domain-specific methods
|
|
48
|
+
* async findByPriceRange(min: number, max: number): Promise<Product[]> {
|
|
49
|
+
* return this.find({
|
|
50
|
+
* and: [
|
|
51
|
+
* { field: 'price', op: 'gte', value: min },
|
|
52
|
+
* { field: 'price', op: 'lte', value: max }
|
|
53
|
+
* ]
|
|
54
|
+
* })
|
|
55
|
+
* }
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export class BaseCollection {
|
|
60
|
+
/**
|
|
61
|
+
* DO storage interface
|
|
62
|
+
*/
|
|
63
|
+
storage;
|
|
64
|
+
/**
|
|
65
|
+
* Collection configuration
|
|
66
|
+
*/
|
|
67
|
+
config;
|
|
68
|
+
/**
|
|
69
|
+
* Create a new BaseCollection instance
|
|
70
|
+
*
|
|
71
|
+
* @param storage - DO storage interface
|
|
72
|
+
* @param config - Collection configuration
|
|
73
|
+
*/
|
|
74
|
+
constructor(storage, config) {
|
|
75
|
+
this.storage = storage;
|
|
76
|
+
this.config = {
|
|
77
|
+
defaultLimit: 50,
|
|
78
|
+
maxLimit: 1000,
|
|
79
|
+
...config,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Generate a unique ID for a new entity
|
|
84
|
+
*
|
|
85
|
+
* @returns A unique ID in format '{prefix}_{nanoid}'
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* const id = this.generateId() // 'cust_V1StGXR8_Z5jdHi6B-myT'
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
generateId() {
|
|
93
|
+
// TODO: Implement nanoid generation
|
|
94
|
+
const random = Math.random().toString(36).substring(2, 15);
|
|
95
|
+
return `${this.config.idPrefix}_${random}`;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get current timestamp in Unix milliseconds
|
|
99
|
+
*
|
|
100
|
+
* @returns Current time as Unix timestamp (ms)
|
|
101
|
+
*/
|
|
102
|
+
now() {
|
|
103
|
+
return Date.now();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* List entities with pagination and filtering
|
|
107
|
+
*
|
|
108
|
+
* @param options - List options including limit, offset, cursor, ordering, and filter
|
|
109
|
+
* @returns Paginated list result with items and metadata
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* // Simple pagination
|
|
114
|
+
* const page1 = await collection.list({ limit: 10 })
|
|
115
|
+
* const page2 = await collection.list({ limit: 10, cursor: page1.cursor })
|
|
116
|
+
*
|
|
117
|
+
* // With filtering
|
|
118
|
+
* const active = await collection.list({
|
|
119
|
+
* filter: { field: 'status', op: 'eq', value: 'active' },
|
|
120
|
+
* orderBy: 'createdAt',
|
|
121
|
+
* orderDir: 'desc'
|
|
122
|
+
* })
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
async list(options = {}) {
|
|
126
|
+
const limit = Math.min(options.limit ?? this.config.defaultLimit, this.config.maxLimit);
|
|
127
|
+
const offset = options.offset ?? 0;
|
|
128
|
+
// Get all items from storage
|
|
129
|
+
const prefix = `${this.config.name}:`;
|
|
130
|
+
const allItems = await this.storage.list({ prefix });
|
|
131
|
+
// Convert to array
|
|
132
|
+
let items = Array.from(allItems.values());
|
|
133
|
+
// Apply filtering
|
|
134
|
+
if (options.filter) {
|
|
135
|
+
items = items.filter(item => this.matchesFilter(item, options.filter));
|
|
136
|
+
}
|
|
137
|
+
const total = items.length;
|
|
138
|
+
// Apply ordering
|
|
139
|
+
if (options.orderBy) {
|
|
140
|
+
const dir = options.orderDir === 'desc' ? -1 : 1;
|
|
141
|
+
items.sort((a, b) => {
|
|
142
|
+
const aVal = a[options.orderBy];
|
|
143
|
+
const bVal = b[options.orderBy];
|
|
144
|
+
if (aVal === bVal)
|
|
145
|
+
return 0;
|
|
146
|
+
if (aVal === undefined || aVal === null)
|
|
147
|
+
return dir;
|
|
148
|
+
if (bVal === undefined || bVal === null)
|
|
149
|
+
return -dir;
|
|
150
|
+
if (typeof aVal === 'string' && typeof bVal === 'string') {
|
|
151
|
+
return aVal.localeCompare(bVal) * dir;
|
|
152
|
+
}
|
|
153
|
+
return aVal < bVal ? -dir : dir;
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
// Handle cursor-based pagination
|
|
157
|
+
let startIndex = offset;
|
|
158
|
+
if (options.cursor) {
|
|
159
|
+
const cursorIndex = items.findIndex(item => item.id === options.cursor);
|
|
160
|
+
if (cursorIndex >= 0) {
|
|
161
|
+
startIndex = cursorIndex + 1;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
// Apply pagination
|
|
165
|
+
const paginatedItems = items.slice(startIndex, startIndex + limit);
|
|
166
|
+
const hasMore = startIndex + limit < items.length;
|
|
167
|
+
// Generate cursor for next page
|
|
168
|
+
const cursor = paginatedItems.length > 0 ? paginatedItems[paginatedItems.length - 1].id : undefined;
|
|
169
|
+
return {
|
|
170
|
+
items: paginatedItems,
|
|
171
|
+
total,
|
|
172
|
+
cursor,
|
|
173
|
+
hasMore,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Get a single entity by ID
|
|
178
|
+
*
|
|
179
|
+
* @param id - Entity ID
|
|
180
|
+
* @returns The entity or null if not found
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```typescript
|
|
184
|
+
* const customer = await customers.get('cust_abc123')
|
|
185
|
+
* if (customer) {
|
|
186
|
+
* console.log(customer.name)
|
|
187
|
+
* }
|
|
188
|
+
* ```
|
|
189
|
+
*/
|
|
190
|
+
async get(id) {
|
|
191
|
+
if (!id)
|
|
192
|
+
return null;
|
|
193
|
+
const key = `${this.config.name}:${id}`;
|
|
194
|
+
const entity = await this.storage.get(key);
|
|
195
|
+
return entity ?? null;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Create a new entity
|
|
199
|
+
*
|
|
200
|
+
* @param data - Entity data without ID (ID is auto-generated)
|
|
201
|
+
* @returns The created entity with generated ID and timestamps
|
|
202
|
+
*
|
|
203
|
+
* @throws {Error} If creation fails due to validation or storage error
|
|
204
|
+
*
|
|
205
|
+
* @example
|
|
206
|
+
* ```typescript
|
|
207
|
+
* const customer = await customers.create({
|
|
208
|
+
* name: 'Acme Corp',
|
|
209
|
+
* email: 'contact@acme.com'
|
|
210
|
+
* })
|
|
211
|
+
* console.log(customer.id) // 'cust_abc123'
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
async create(data) {
|
|
215
|
+
if (data === null || data === undefined) {
|
|
216
|
+
throw new ValidationError('Data cannot be null or undefined');
|
|
217
|
+
}
|
|
218
|
+
const id = this.generateId();
|
|
219
|
+
const timestamp = this.now();
|
|
220
|
+
const entity = {
|
|
221
|
+
...data,
|
|
222
|
+
id,
|
|
223
|
+
createdAt: timestamp,
|
|
224
|
+
updatedAt: timestamp,
|
|
225
|
+
};
|
|
226
|
+
const key = `${this.config.name}:${id}`;
|
|
227
|
+
await this.storage.put(key, entity);
|
|
228
|
+
return entity;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Update an existing entity
|
|
232
|
+
*
|
|
233
|
+
* @param id - Entity ID
|
|
234
|
+
* @param data - Partial entity data to merge
|
|
235
|
+
* @returns The updated entity
|
|
236
|
+
*
|
|
237
|
+
* @throws {Error} If entity not found or update fails
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```typescript
|
|
241
|
+
* const updated = await customers.update('cust_abc123', {
|
|
242
|
+
* email: 'new@acme.com'
|
|
243
|
+
* })
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
246
|
+
async update(id, data) {
|
|
247
|
+
const existing = await this.get(id);
|
|
248
|
+
if (!existing) {
|
|
249
|
+
throw new NotFoundError(this.config.name, id);
|
|
250
|
+
}
|
|
251
|
+
// Merge data but preserve id and update timestamp
|
|
252
|
+
const updated = {
|
|
253
|
+
...existing,
|
|
254
|
+
...data,
|
|
255
|
+
id: existing.id, // Preserve original ID
|
|
256
|
+
updatedAt: this.now(),
|
|
257
|
+
};
|
|
258
|
+
const key = `${this.config.name}:${id}`;
|
|
259
|
+
await this.storage.put(key, updated);
|
|
260
|
+
return updated;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Delete an entity by ID
|
|
264
|
+
*
|
|
265
|
+
* @param id - Entity ID
|
|
266
|
+
*
|
|
267
|
+
* @example
|
|
268
|
+
* ```typescript
|
|
269
|
+
* await customers.delete('cust_abc123')
|
|
270
|
+
* ```
|
|
271
|
+
*/
|
|
272
|
+
async delete(id) {
|
|
273
|
+
const key = `${this.config.name}:${id}`;
|
|
274
|
+
await this.storage.delete(key);
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Count entities matching a filter
|
|
278
|
+
*
|
|
279
|
+
* @param filter - Optional filter expression
|
|
280
|
+
* @returns Count of matching entities
|
|
281
|
+
*
|
|
282
|
+
* @example
|
|
283
|
+
* ```typescript
|
|
284
|
+
* const total = await customers.count()
|
|
285
|
+
* const active = await customers.count({
|
|
286
|
+
* field: 'status', op: 'eq', value: 'active'
|
|
287
|
+
* })
|
|
288
|
+
* ```
|
|
289
|
+
*/
|
|
290
|
+
async count(filter) {
|
|
291
|
+
const prefix = `${this.config.name}:`;
|
|
292
|
+
const allItems = await this.storage.list({ prefix });
|
|
293
|
+
if (!filter) {
|
|
294
|
+
return allItems.size;
|
|
295
|
+
}
|
|
296
|
+
let count = 0;
|
|
297
|
+
for (const item of allItems.values()) {
|
|
298
|
+
if (this.matchesFilter(item, filter)) {
|
|
299
|
+
count++;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return count;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Find entities matching a filter
|
|
306
|
+
*
|
|
307
|
+
* @param filter - Filter expression
|
|
308
|
+
* @returns Array of matching entities
|
|
309
|
+
*
|
|
310
|
+
* @example
|
|
311
|
+
* ```typescript
|
|
312
|
+
* const highValue = await customers.find({
|
|
313
|
+
* and: [
|
|
314
|
+
* { field: 'totalSpent', op: 'gte', value: 10000 },
|
|
315
|
+
* { field: 'status', op: 'eq', value: 'active' }
|
|
316
|
+
* ]
|
|
317
|
+
* })
|
|
318
|
+
* ```
|
|
319
|
+
*/
|
|
320
|
+
async find(filter) {
|
|
321
|
+
const prefix = `${this.config.name}:`;
|
|
322
|
+
const allItems = await this.storage.list({ prefix });
|
|
323
|
+
const results = [];
|
|
324
|
+
for (const item of allItems.values()) {
|
|
325
|
+
if (this.matchesFilter(item, filter)) {
|
|
326
|
+
results.push(item);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
return results;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Check if an entity matches a filter expression
|
|
333
|
+
*
|
|
334
|
+
* @param entity - The entity to check
|
|
335
|
+
* @param filter - The filter expression
|
|
336
|
+
* @returns True if the entity matches the filter
|
|
337
|
+
*
|
|
338
|
+
* @internal
|
|
339
|
+
*/
|
|
340
|
+
matchesFilter(entity, filter) {
|
|
341
|
+
// Handle AND conditions
|
|
342
|
+
if ('and' in filter) {
|
|
343
|
+
return filter.and.every(f => this.matchesFilter(entity, f));
|
|
344
|
+
}
|
|
345
|
+
// Handle OR conditions
|
|
346
|
+
if ('or' in filter) {
|
|
347
|
+
return filter.or.some(f => this.matchesFilter(entity, f));
|
|
348
|
+
}
|
|
349
|
+
// Handle NOT conditions
|
|
350
|
+
if ('not' in filter) {
|
|
351
|
+
return !this.matchesFilter(entity, filter.not);
|
|
352
|
+
}
|
|
353
|
+
// Handle field conditions
|
|
354
|
+
const { field, op, value } = filter;
|
|
355
|
+
const entityValue = entity[field];
|
|
356
|
+
switch (op) {
|
|
357
|
+
case 'eq':
|
|
358
|
+
return entityValue === value;
|
|
359
|
+
case 'ne':
|
|
360
|
+
return entityValue !== value;
|
|
361
|
+
case 'gt':
|
|
362
|
+
return entityValue > value;
|
|
363
|
+
case 'gte':
|
|
364
|
+
return entityValue >= value;
|
|
365
|
+
case 'lt':
|
|
366
|
+
return entityValue < value;
|
|
367
|
+
case 'lte':
|
|
368
|
+
return entityValue <= value;
|
|
369
|
+
case 'in':
|
|
370
|
+
return value.includes(entityValue);
|
|
371
|
+
case 'nin':
|
|
372
|
+
return !value.includes(entityValue);
|
|
373
|
+
case 'contains':
|
|
374
|
+
return typeof entityValue === 'string' && entityValue.includes(value);
|
|
375
|
+
case 'startsWith':
|
|
376
|
+
return typeof entityValue === 'string' && entityValue.startsWith(value);
|
|
377
|
+
case 'endsWith':
|
|
378
|
+
return typeof entityValue === 'string' && entityValue.endsWith(value);
|
|
379
|
+
default:
|
|
380
|
+
return false;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Build SQL WHERE clause from filter expression
|
|
385
|
+
*
|
|
386
|
+
* @param filter - Filter expression
|
|
387
|
+
* @returns Object with SQL clause and parameter values
|
|
388
|
+
*
|
|
389
|
+
* @internal
|
|
390
|
+
*/
|
|
391
|
+
buildWhereClause(filter) {
|
|
392
|
+
// Handle AND conditions
|
|
393
|
+
if ('and' in filter) {
|
|
394
|
+
const clauses = filter.and.map(f => this.buildWhereClause(f));
|
|
395
|
+
return {
|
|
396
|
+
sql: `(${clauses.map(c => c.sql).join(' AND ')})`,
|
|
397
|
+
params: clauses.flatMap(c => c.params),
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
// Handle OR conditions
|
|
401
|
+
if ('or' in filter) {
|
|
402
|
+
const clauses = filter.or.map(f => this.buildWhereClause(f));
|
|
403
|
+
return {
|
|
404
|
+
sql: `(${clauses.map(c => c.sql).join(' OR ')})`,
|
|
405
|
+
params: clauses.flatMap(c => c.params),
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
// Handle NOT conditions
|
|
409
|
+
if ('not' in filter) {
|
|
410
|
+
const clause = this.buildWhereClause(filter.not);
|
|
411
|
+
return {
|
|
412
|
+
sql: `NOT (${clause.sql})`,
|
|
413
|
+
params: clause.params,
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
// Handle field conditions
|
|
417
|
+
const { field, op, value } = filter;
|
|
418
|
+
const sqlOp = this.operatorToSql(op);
|
|
419
|
+
switch (op) {
|
|
420
|
+
case 'in':
|
|
421
|
+
case 'nin': {
|
|
422
|
+
const values = value;
|
|
423
|
+
const placeholders = values.map(() => '?').join(', ');
|
|
424
|
+
return {
|
|
425
|
+
sql: `${field} ${sqlOp} (${placeholders})`,
|
|
426
|
+
params: values,
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
case 'contains':
|
|
430
|
+
return {
|
|
431
|
+
sql: `${field} ${sqlOp} ?`,
|
|
432
|
+
params: [`%${value}%`],
|
|
433
|
+
};
|
|
434
|
+
case 'startsWith':
|
|
435
|
+
return {
|
|
436
|
+
sql: `${field} ${sqlOp} ?`,
|
|
437
|
+
params: [`${value}%`],
|
|
438
|
+
};
|
|
439
|
+
case 'endsWith':
|
|
440
|
+
return {
|
|
441
|
+
sql: `${field} ${sqlOp} ?`,
|
|
442
|
+
params: [`%${value}`],
|
|
443
|
+
};
|
|
444
|
+
default:
|
|
445
|
+
return {
|
|
446
|
+
sql: `${field} ${sqlOp} ?`,
|
|
447
|
+
params: [value],
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Convert filter operator to SQL operator
|
|
453
|
+
*
|
|
454
|
+
* @param op - Filter operator
|
|
455
|
+
* @returns SQL operator string
|
|
456
|
+
*
|
|
457
|
+
* @internal
|
|
458
|
+
*/
|
|
459
|
+
operatorToSql(op) {
|
|
460
|
+
const opMap = {
|
|
461
|
+
eq: '=',
|
|
462
|
+
ne: '!=',
|
|
463
|
+
gt: '>',
|
|
464
|
+
gte: '>=',
|
|
465
|
+
lt: '<',
|
|
466
|
+
lte: '<=',
|
|
467
|
+
in: 'IN',
|
|
468
|
+
nin: 'NOT IN',
|
|
469
|
+
contains: 'LIKE',
|
|
470
|
+
startsWith: 'LIKE',
|
|
471
|
+
endsWith: 'LIKE',
|
|
472
|
+
};
|
|
473
|
+
return opMap[op];
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Collection error types
|
|
478
|
+
*/
|
|
479
|
+
export class CollectionError extends Error {
|
|
480
|
+
code;
|
|
481
|
+
entityId;
|
|
482
|
+
constructor(message, code, entityId) {
|
|
483
|
+
super(message);
|
|
484
|
+
this.code = code;
|
|
485
|
+
this.entityId = entityId;
|
|
486
|
+
this.name = 'CollectionError';
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Entity not found error
|
|
491
|
+
*/
|
|
492
|
+
export class NotFoundError extends CollectionError {
|
|
493
|
+
constructor(collection, id) {
|
|
494
|
+
super(`${collection} with id '${id}' not found`, 'NOT_FOUND', id);
|
|
495
|
+
this.name = 'NotFoundError';
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* Validation error
|
|
500
|
+
*/
|
|
501
|
+
export class ValidationError extends CollectionError {
|
|
502
|
+
field;
|
|
503
|
+
constructor(message, field) {
|
|
504
|
+
super(message, 'VALIDATION');
|
|
505
|
+
this.field = field;
|
|
506
|
+
this.name = 'ValidationError';
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
export default BaseCollection;
|
|
510
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../db/collections/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collections Module - Core data structures for Digital Objects
|
|
3
|
+
*
|
|
4
|
+
* @module collections
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* This module exports all collection types for managing data within Digital Objects.
|
|
8
|
+
* Collections provide the core data layer including:
|
|
9
|
+
*
|
|
10
|
+
* - **Nouns**: Entity type registry (Customer, Order, Product, etc.)
|
|
11
|
+
* - **Verbs**: Action type registry (create, update, delete, approve, etc.)
|
|
12
|
+
* - **Things**: Entity instances in ThingExpanded or ThingCompact formats
|
|
13
|
+
* - **Actions**: Durable action execution with full lifecycle tracking
|
|
14
|
+
* - **Relationships**: Graph-style entity linking with cascade operator support
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import {
|
|
19
|
+
* NounCollection,
|
|
20
|
+
* VerbCollection,
|
|
21
|
+
* ThingCollection,
|
|
22
|
+
* ActionCollection,
|
|
23
|
+
* RelationshipCollection
|
|
24
|
+
* } from './collections'
|
|
25
|
+
*
|
|
26
|
+
* // Initialize collections with storage
|
|
27
|
+
* const nouns = new NounCollection(storage)
|
|
28
|
+
* const verbs = new VerbCollection(storage)
|
|
29
|
+
* const things = new ThingCollection(storage, nouns)
|
|
30
|
+
* const actions = new ActionCollection(storage, verbs)
|
|
31
|
+
* const relationships = new RelationshipCollection(storage)
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export { BaseCollection, CollectionError, NotFoundError, ValidationError, } from './base';
|
|
35
|
+
export type { DOStorage, CollectionConfig, } from './base';
|
|
36
|
+
export { NounCollection, } from './nouns';
|
|
37
|
+
export type { CreateNounOptions, } from './nouns';
|
|
38
|
+
export { VerbCollection, CRUD_VERBS, WORKFLOW_VERBS, } from './verbs';
|
|
39
|
+
export type { CreateVerbOptions, } from './verbs';
|
|
40
|
+
export { ThingCollection, } from './things';
|
|
41
|
+
export type { CreateThingExpandedOptions, CreateThingCompactOptions, ThingQueryOptions, } from './things';
|
|
42
|
+
export { ActionCollection, DEFAULT_RETRY_POLICY, } from './actions';
|
|
43
|
+
export type { CreateActionOptions, FailActionOptions, ActionRetryPolicy, } from './actions';
|
|
44
|
+
export { RelationshipCollection, } from './relationships';
|
|
45
|
+
export type { CreateRelationshipOptions, RelationshipQueryOptions, TraversalResult, } from './relationships';
|
|
46
|
+
export type { Noun, Verb, Thing, ThingExpanded, ThingCompact, Action, ActionStatus, ActionError, ActionRequest, Actor, ActorType, Relationship, Function, FunctionType, FunctionDefinition, Workflow, WorkflowType, WorkflowExecutionState, WorkflowDefinition, WorkflowStep, WorkflowTrigger, StateMachineDefinition, StateNode, Transition, Event, Experiment, ExperimentStatus, Variant, Org, Role, Permission, User, Agent, AgentStatus, AgentModality, Integration, IntegrationStatus, IntegrationCredentials, Webhook, CollectionMethods, ListOptions, ListResult, FilterExpression, FilterOp, } from '../../types/collections';
|
|
47
|
+
export { isThingExpanded, isThingCompact } from '../../types/collections';
|
|
48
|
+
export type { RelationOperator, RelationDirection, RelationMethod, RelationFieldDefinition, StoredRelation, RelationManager, CascadeProcessor, CascadeResult, CascadeFieldResult, CascadeError, CascadeConfig, CascadeEvent, } from '../../types/cascade';
|
|
49
|
+
export { parseRelationOperator, parseRelationField, isRelationField, } from '../../types/cascade';
|
|
50
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../db/collections/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,EACL,cAAc,EACd,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,QAAQ,CAAA;AAEf,YAAY,EACV,SAAS,EACT,gBAAgB,GACjB,MAAM,QAAQ,CAAA;AAGf,OAAO,EACL,cAAc,GACf,MAAM,SAAS,CAAA;AAEhB,YAAY,EACV,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,GACf,MAAM,SAAS,CAAA;AAEhB,YAAY,EACV,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,eAAe,GAChB,MAAM,UAAU,CAAA;AAEjB,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAElB,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,WAAW,CAAA;AAGlB,OAAO,EACL,sBAAsB,GACvB,MAAM,iBAAiB,CAAA;AAExB,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAGxB,YAAY,EACV,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,aAAa,EACb,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,WAAW,EACX,aAAa,EACb,KAAK,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EACR,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,GAAG,EACH,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,KAAK,EACL,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,OAAO,EACP,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,QAAQ,GACT,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGzE,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,GACb,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAChB,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collections Module - Core data structures for Digital Objects
|
|
3
|
+
*
|
|
4
|
+
* @module collections
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* This module exports all collection types for managing data within Digital Objects.
|
|
8
|
+
* Collections provide the core data layer including:
|
|
9
|
+
*
|
|
10
|
+
* - **Nouns**: Entity type registry (Customer, Order, Product, etc.)
|
|
11
|
+
* - **Verbs**: Action type registry (create, update, delete, approve, etc.)
|
|
12
|
+
* - **Things**: Entity instances in ThingExpanded or ThingCompact formats
|
|
13
|
+
* - **Actions**: Durable action execution with full lifecycle tracking
|
|
14
|
+
* - **Relationships**: Graph-style entity linking with cascade operator support
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import {
|
|
19
|
+
* NounCollection,
|
|
20
|
+
* VerbCollection,
|
|
21
|
+
* ThingCollection,
|
|
22
|
+
* ActionCollection,
|
|
23
|
+
* RelationshipCollection
|
|
24
|
+
* } from './collections'
|
|
25
|
+
*
|
|
26
|
+
* // Initialize collections with storage
|
|
27
|
+
* const nouns = new NounCollection(storage)
|
|
28
|
+
* const verbs = new VerbCollection(storage)
|
|
29
|
+
* const things = new ThingCollection(storage, nouns)
|
|
30
|
+
* const actions = new ActionCollection(storage, verbs)
|
|
31
|
+
* const relationships = new RelationshipCollection(storage)
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
// Base collection
|
|
35
|
+
export { BaseCollection, CollectionError, NotFoundError, ValidationError, } from './base';
|
|
36
|
+
// Noun collection
|
|
37
|
+
export { NounCollection, } from './nouns';
|
|
38
|
+
// Verb collection
|
|
39
|
+
export { VerbCollection, CRUD_VERBS, WORKFLOW_VERBS, } from './verbs';
|
|
40
|
+
// Things collection
|
|
41
|
+
export { ThingCollection, } from './things';
|
|
42
|
+
// Actions collection
|
|
43
|
+
export { ActionCollection, DEFAULT_RETRY_POLICY, } from './actions';
|
|
44
|
+
// Relationships collection
|
|
45
|
+
export { RelationshipCollection, } from './relationships';
|
|
46
|
+
export { isThingExpanded, isThingCompact } from '../../types/collections';
|
|
47
|
+
export { parseRelationOperator, parseRelationField, isRelationField, } from '../../types/cascade';
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../db/collections/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,kBAAkB;AAClB,OAAO,EACL,cAAc,EACd,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,QAAQ,CAAA;AAOf,kBAAkB;AAClB,OAAO,EACL,cAAc,GACf,MAAM,SAAS,CAAA;AAMhB,kBAAkB;AAClB,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,GACf,MAAM,SAAS,CAAA;AAMhB,oBAAoB;AACpB,OAAO,EACL,eAAe,GAChB,MAAM,UAAU,CAAA;AAQjB,qBAAqB;AACrB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAQlB,2BAA2B;AAC3B,OAAO,EACL,sBAAsB,GACvB,MAAM,iBAAiB,CAAA;AAwDxB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAkBzE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAChB,MAAM,qBAAqB,CAAA"}
|