dotdo 0.0.1 → 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/LICENSE +1 -1
- package/README.md +446 -315
- package/cli/README.md +238 -0
- package/cli/agent.ts +72 -0
- package/cli/bin.js +44 -0
- package/cli/bin.ts +38 -0
- package/cli/build.ts +157 -0
- package/cli/commands/auth/login.ts +14 -0
- package/cli/commands/auth/logout.ts +6 -0
- package/cli/commands/auth/whoami.ts +16 -0
- package/cli/commands/deploy-multi.ts +245 -0
- package/cli/commands/dev/deploy.ts +100 -0
- package/cli/commands/dev/dev.ts +95 -0
- package/cli/commands/dev/logs.ts +91 -0
- package/cli/commands/dev-local.ts +88 -0
- package/cli/commands/do-ops.ts +314 -0
- package/cli/commands/index.ts +100 -0
- package/cli/commands/init.ts +247 -0
- package/cli/commands/introspect/emitter.ts +315 -0
- package/cli/commands/introspect/index.ts +193 -0
- package/cli/commands/link.ts +598 -0
- package/cli/commands/snippets.ts +415 -0
- package/cli/commands/tunnel.ts +239 -0
- package/cli/device-auth.ts +289 -0
- package/cli/fallback.ts +12 -0
- package/cli/index.ts +121 -0
- package/cli/main.ts +246 -0
- package/cli/mcp-stdio.ts +790 -0
- package/cli/package.json +62 -0
- package/cli/runtime/do-registry.ts +193 -0
- package/cli/runtime/embedded-db.ts +344 -0
- package/cli/runtime/index.ts +9 -0
- package/cli/runtime/miniflare-adapter.ts +162 -0
- package/cli/sandbox.ts +82 -0
- package/cli/src/args.ts +174 -0
- package/cli/src/auth.ts +55 -0
- package/cli/src/commands/call.ts +84 -0
- package/cli/src/commands/charge.ts +96 -0
- package/cli/src/commands/config.ts +115 -0
- package/cli/src/commands/email.ts +112 -0
- package/cli/src/commands/llm.ts +115 -0
- package/cli/src/commands/queue.ts +134 -0
- package/cli/src/commands/text.ts +86 -0
- package/cli/src/config.ts +185 -0
- package/cli/src/output.ts +246 -0
- package/cli/src/rpc.ts +192 -0
- package/cli/utils/config.ts +282 -0
- package/cli/utils/detect.ts +73 -0
- package/cli/utils/index.ts +15 -0
- package/cli/utils/logger.ts +232 -0
- package/dist/ai/index.js +19 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/template-literals.js +852 -0
- package/dist/ai/template-literals.js.map +1 -0
- package/dist/api/middleware/auth-federation.js +573 -0
- package/dist/api/middleware/auth-federation.js.map +1 -0
- package/dist/api/middleware/auth.js +545 -0
- package/dist/api/middleware/auth.js.map +1 -0
- package/dist/db/actions.js +212 -0
- package/dist/db/actions.js.map +1 -0
- package/dist/db/auth.js +506 -0
- package/dist/db/auth.js.map +1 -0
- package/dist/db/branches.js +65 -0
- package/dist/db/branches.js.map +1 -0
- package/dist/db/clickhouse.js +1074 -0
- package/dist/db/clickhouse.js.map +1 -0
- package/dist/db/dlq.js +39 -0
- package/dist/db/dlq.js.map +1 -0
- package/dist/db/events.js +28 -0
- package/dist/db/events.js.map +1 -0
- package/dist/db/exec.js +64 -0
- package/dist/db/exec.js.map +1 -0
- package/dist/db/files.js +85 -0
- package/dist/db/files.js.map +1 -0
- package/dist/db/flags.js +24 -0
- package/dist/db/flags.js.map +1 -0
- package/dist/db/git.js +116 -0
- package/dist/db/git.js.map +1 -0
- package/dist/db/iceberg/inverted-index.js +862 -0
- package/dist/db/iceberg/inverted-index.js.map +1 -0
- package/dist/db/iceberg/puffin.js +878 -0
- package/dist/db/iceberg/puffin.js.map +1 -0
- package/dist/db/iceberg/search-manifest.js +422 -0
- package/dist/db/iceberg/search-manifest.js.map +1 -0
- package/dist/db/iceberg/types.js +8 -0
- package/dist/db/iceberg/types.js.map +1 -0
- package/dist/db/index.js +121 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/integrations.js +368 -0
- package/dist/db/integrations.js.map +1 -0
- package/dist/db/json-indexes.js +332 -0
- package/dist/db/json-indexes.js.map +1 -0
- package/dist/db/linked-accounts.js +287 -0
- package/dist/db/linked-accounts.js.map +1 -0
- package/dist/db/nouns.js +183 -0
- package/dist/db/nouns.js.map +1 -0
- package/dist/db/objects.js +170 -0
- package/dist/db/objects.js.map +1 -0
- package/dist/db/primitives/dag-scheduler/index.js +869 -0
- package/dist/db/primitives/dag-scheduler/index.js.map +1 -0
- package/dist/db/primitives/exactly-once-context.js +237 -0
- package/dist/db/primitives/exactly-once-context.js.map +1 -0
- package/dist/db/primitives/index.js +62 -0
- package/dist/db/primitives/index.js.map +1 -0
- package/dist/db/primitives/keyed-router.js +145 -0
- package/dist/db/primitives/keyed-router.js.map +1 -0
- package/dist/db/primitives/observability.js +162 -0
- package/dist/db/primitives/observability.js.map +1 -0
- package/dist/db/primitives/schema-evolution.js +643 -0
- package/dist/db/primitives/schema-evolution.js.map +1 -0
- package/dist/db/primitives/stateful-operator/index.js +770 -0
- package/dist/db/primitives/stateful-operator/index.js.map +1 -0
- package/dist/db/primitives/temporal-store.js +306 -0
- package/dist/db/primitives/temporal-store.js.map +1 -0
- package/dist/db/primitives/typed-column-store.js +1229 -0
- package/dist/db/primitives/typed-column-store.js.map +1 -0
- package/dist/db/primitives/utils/duration.js +162 -0
- package/dist/db/primitives/utils/duration.js.map +1 -0
- package/dist/db/primitives/utils/murmur3.js +116 -0
- package/dist/db/primitives/utils/murmur3.js.map +1 -0
- package/dist/db/primitives/watermark-service.js +136 -0
- package/dist/db/primitives/watermark-service.js.map +1 -0
- package/dist/db/primitives/window-manager.js +764 -0
- package/dist/db/primitives/window-manager.js.map +1 -0
- package/dist/db/relationships.js +66 -0
- package/dist/db/relationships.js.map +1 -0
- package/dist/db/schema-minimal.js +61 -0
- package/dist/db/schema-minimal.js.map +1 -0
- package/dist/db/search.js +28 -0
- package/dist/db/search.js.map +1 -0
- package/dist/db/stores.js +1665 -0
- package/dist/db/stores.js.map +1 -0
- package/dist/db/things.js +297 -0
- package/dist/db/things.js.map +1 -0
- package/dist/db/vault.js +171 -0
- package/dist/db/vault.js.map +1 -0
- package/dist/db/verbs.js +102 -0
- package/dist/db/verbs.js.map +1 -0
- package/dist/do/base.js +48 -0
- package/dist/do/base.js.map +1 -0
- package/dist/do/tiny.js +31 -0
- package/dist/do/tiny.js.map +1 -0
- package/dist/lib/DOAuth.js +261 -0
- package/dist/lib/DOAuth.js.map +1 -0
- package/dist/lib/DODispatcher.js +72 -0
- package/dist/lib/DODispatcher.js.map +1 -0
- package/dist/lib/Modifier.js +189 -0
- package/dist/lib/Modifier.js.map +1 -0
- package/dist/lib/StateStorage.js +403 -0
- package/dist/lib/StateStorage.js.map +1 -0
- package/dist/lib/TypeRegistry.js +122 -0
- package/dist/lib/TypeRegistry.js.map +1 -0
- package/dist/lib/ai/gateway.js +247 -0
- package/dist/lib/ai/gateway.js.map +1 -0
- package/dist/lib/ai/tool-loop-agent.js +591 -0
- package/dist/lib/ai/tool-loop-agent.js.map +1 -0
- package/dist/lib/auto-wiring.js +439 -0
- package/dist/lib/auto-wiring.js.map +1 -0
- package/dist/lib/browse/browserbase.js +163 -0
- package/dist/lib/browse/browserbase.js.map +1 -0
- package/dist/lib/browse/cloudflare.js +144 -0
- package/dist/lib/browse/cloudflare.js.map +1 -0
- package/dist/lib/browse/index.js +62 -0
- package/dist/lib/browse/index.js.map +1 -0
- package/dist/lib/browse/types.js +13 -0
- package/dist/lib/browse/types.js.map +1 -0
- package/dist/lib/cache/index.js +37 -0
- package/dist/lib/cache/index.js.map +1 -0
- package/dist/lib/cache/visibility.js +638 -0
- package/dist/lib/cache/visibility.js.map +1 -0
- package/dist/lib/capabilities.js +268 -0
- package/dist/lib/capabilities.js.map +1 -0
- package/dist/lib/channels/base.js +106 -0
- package/dist/lib/channels/base.js.map +1 -0
- package/dist/lib/channels/discord.js +94 -0
- package/dist/lib/channels/discord.js.map +1 -0
- package/dist/lib/channels/email.js +204 -0
- package/dist/lib/channels/email.js.map +1 -0
- package/dist/lib/channels/index.js +90 -0
- package/dist/lib/channels/index.js.map +1 -0
- package/dist/lib/channels/mdxui-chat.js +95 -0
- package/dist/lib/channels/mdxui-chat.js.map +1 -0
- package/dist/lib/channels/slack-blockkit.js +121 -0
- package/dist/lib/channels/slack-blockkit.js.map +1 -0
- package/dist/lib/channels/types.js +7 -0
- package/dist/lib/channels/types.js.map +1 -0
- package/dist/lib/cloudflare/ai.js +654 -0
- package/dist/lib/cloudflare/ai.js.map +1 -0
- package/dist/lib/cloudflare/index.js +88 -0
- package/dist/lib/cloudflare/index.js.map +1 -0
- package/dist/lib/cloudflare/kv.js +342 -0
- package/dist/lib/cloudflare/kv.js.map +1 -0
- package/dist/lib/cloudflare/queues.js +434 -0
- package/dist/lib/cloudflare/queues.js.map +1 -0
- package/dist/lib/cloudflare/r2.js +604 -0
- package/dist/lib/cloudflare/r2.js.map +1 -0
- package/dist/lib/cloudflare/vectorize.js +494 -0
- package/dist/lib/cloudflare/vectorize.js.map +1 -0
- package/dist/lib/cloudflare/workflows.js +569 -0
- package/dist/lib/cloudflare/workflows.js.map +1 -0
- package/dist/lib/colo/caching.js +196 -0
- package/dist/lib/colo/caching.js.map +1 -0
- package/dist/lib/colo/detection.js +194 -0
- package/dist/lib/colo/detection.js.map +1 -0
- package/dist/lib/colo/external-data.js +219 -0
- package/dist/lib/colo/external-data.js.map +1 -0
- package/dist/lib/colo/globe-data.js +179 -0
- package/dist/lib/colo/globe-data.js.map +1 -0
- package/dist/lib/colo/index.js +16 -0
- package/dist/lib/colo/index.js.map +1 -0
- package/dist/lib/decorators.js +37 -0
- package/dist/lib/decorators.js.map +1 -0
- package/dist/lib/discovery.js +81 -0
- package/dist/lib/discovery.js.map +1 -0
- package/dist/lib/executors/AgenticFunctionExecutor.js +619 -0
- package/dist/lib/executors/AgenticFunctionExecutor.js.map +1 -0
- package/dist/lib/executors/BaseFunctionExecutor.js +328 -0
- package/dist/lib/executors/BaseFunctionExecutor.js.map +1 -0
- package/dist/lib/executors/CascadeExecutor.js +418 -0
- package/dist/lib/executors/CascadeExecutor.js.map +1 -0
- package/dist/lib/executors/CodeFunctionExecutor.js +904 -0
- package/dist/lib/executors/CodeFunctionExecutor.js.map +1 -0
- package/dist/lib/executors/GenerativeFunctionExecutor.js +904 -0
- package/dist/lib/executors/GenerativeFunctionExecutor.js.map +1 -0
- package/dist/lib/executors/HumanFunctionExecutor.js +884 -0
- package/dist/lib/executors/HumanFunctionExecutor.js.map +1 -0
- package/dist/lib/executors/ParallelStepExecutor.js +308 -0
- package/dist/lib/executors/ParallelStepExecutor.js.map +1 -0
- package/dist/lib/executors/types.js +12 -0
- package/dist/lib/executors/types.js.map +1 -0
- package/dist/lib/experiments.js +89 -0
- package/dist/lib/experiments.js.map +1 -0
- package/dist/lib/flags/store.js +262 -0
- package/dist/lib/flags/store.js.map +1 -0
- package/dist/lib/functions/FunctionComposition.js +467 -0
- package/dist/lib/functions/FunctionComposition.js.map +1 -0
- package/dist/lib/functions/FunctionMiddleware.js +457 -0
- package/dist/lib/functions/FunctionMiddleware.js.map +1 -0
- package/dist/lib/functions/FunctionRegistry.js +426 -0
- package/dist/lib/functions/FunctionRegistry.js.map +1 -0
- package/dist/lib/functions/createFunction.js +1048 -0
- package/dist/lib/functions/createFunction.js.map +1 -0
- package/dist/lib/humans/index.js +68 -0
- package/dist/lib/humans/index.js.map +1 -0
- package/dist/lib/humans/templates.js +117 -0
- package/dist/lib/humans/templates.js.map +1 -0
- package/dist/lib/identity.js +98 -0
- package/dist/lib/identity.js.map +1 -0
- package/dist/lib/index.js +9 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/logging/error-logger.js +163 -0
- package/dist/lib/logging/error-logger.js.map +1 -0
- package/dist/lib/logging/index.js +160 -0
- package/dist/lib/logging/index.js.map +1 -0
- package/dist/lib/mixins/bash.js +753 -0
- package/dist/lib/mixins/bash.js.map +1 -0
- package/dist/lib/mixins/fs.js +648 -0
- package/dist/lib/mixins/fs.js.map +1 -0
- package/dist/lib/mixins/git.js +1006 -0
- package/dist/lib/mixins/git.js.map +1 -0
- package/dist/lib/mixins/npm.js +662 -0
- package/dist/lib/mixins/npm.js.map +1 -0
- package/dist/lib/noun-id.js +278 -0
- package/dist/lib/noun-id.js.map +1 -0
- package/dist/lib/rate-limit/sliding-window.js +148 -0
- package/dist/lib/rate-limit/sliding-window.js.map +1 -0
- package/dist/lib/rate-limit.js +110 -0
- package/dist/lib/rate-limit.js.map +1 -0
- package/dist/lib/rpc/bindings.js +548 -0
- package/dist/lib/rpc/bindings.js.map +1 -0
- package/dist/lib/rpc/index.js +64 -0
- package/dist/lib/rpc/index.js.map +1 -0
- package/dist/lib/safe-stringify.js +223 -0
- package/dist/lib/safe-stringify.js.map +1 -0
- package/dist/lib/sandbox/miniflare-sandbox.js +1007 -0
- package/dist/lib/sandbox/miniflare-sandbox.js.map +1 -0
- package/dist/lib/sqids.js +110 -0
- package/dist/lib/sqids.js.map +1 -0
- package/dist/lib/sql/adapters/index.js +10 -0
- package/dist/lib/sql/adapters/index.js.map +1 -0
- package/dist/lib/sql/adapters/node-sql-parser.js +552 -0
- package/dist/lib/sql/adapters/node-sql-parser.js.map +1 -0
- package/dist/lib/sql/adapters/pgsql-parser.js +1190 -0
- package/dist/lib/sql/adapters/pgsql-parser.js.map +1 -0
- package/dist/lib/sql/index.js +277 -0
- package/dist/lib/sql/index.js.map +1 -0
- package/dist/lib/sql/types.js +56 -0
- package/dist/lib/sql/types.js.map +1 -0
- package/dist/lib/type-classifier.js +126 -0
- package/dist/lib/type-classifier.js.map +1 -0
- package/dist/lib/utils/html.js +47 -0
- package/dist/lib/utils/html.js.map +1 -0
- package/dist/lib/validation.js +48 -0
- package/dist/lib/validation.js.map +1 -0
- package/dist/lib/vault/store.js +411 -0
- package/dist/lib/vault/store.js.map +1 -0
- package/dist/metrics/hunch.js +739 -0
- package/dist/metrics/hunch.js.map +1 -0
- package/dist/objects/API.js +302 -0
- package/dist/objects/API.js.map +1 -0
- package/dist/objects/Agent.js +179 -0
- package/dist/objects/Agent.js.map +1 -0
- package/dist/objects/AgenticFunctionExecutor.js +8 -0
- package/dist/objects/AgenticFunctionExecutor.js.map +1 -0
- package/dist/objects/App.js +83 -0
- package/dist/objects/App.js.map +1 -0
- package/dist/objects/Browser.js +884 -0
- package/dist/objects/Browser.js.map +1 -0
- package/dist/objects/Business.js +107 -0
- package/dist/objects/Business.js.map +1 -0
- package/dist/objects/CLI.js +221 -0
- package/dist/objects/CLI.js.map +1 -0
- package/dist/objects/CodeFunctionExecutor.js +8 -0
- package/dist/objects/CodeFunctionExecutor.js.map +1 -0
- package/dist/objects/Collection.js +161 -0
- package/dist/objects/Collection.js.map +1 -0
- package/dist/objects/DO.js +41 -0
- package/dist/objects/DO.js.map +1 -0
- package/dist/objects/DOBase.js +2309 -0
- package/dist/objects/DOBase.js.map +1 -0
- package/dist/objects/DOCache.js +153 -0
- package/dist/objects/DOCache.js.map +1 -0
- package/dist/objects/DOFull.js +1676 -0
- package/dist/objects/DOFull.js.map +1 -0
- package/dist/objects/DOTiny.js +207 -0
- package/dist/objects/DOTiny.js.map +1 -0
- package/dist/objects/Directory.js +199 -0
- package/dist/objects/Directory.js.map +1 -0
- package/dist/objects/Entity.js +413 -0
- package/dist/objects/Entity.js.map +1 -0
- package/dist/objects/Function.js +116 -0
- package/dist/objects/Function.js.map +1 -0
- package/dist/objects/Human.js +231 -0
- package/dist/objects/Human.js.map +1 -0
- package/dist/objects/HumanFunctionExecutor.js +8 -0
- package/dist/objects/HumanFunctionExecutor.js.map +1 -0
- package/dist/objects/IcebergMetadataDO.js +938 -0
- package/dist/objects/IcebergMetadataDO.js.map +1 -0
- package/dist/objects/IntegrationsDO.js +1174 -0
- package/dist/objects/IntegrationsDO.js.map +1 -0
- package/dist/objects/ObservabilityBroadcaster.js +149 -0
- package/dist/objects/ObservabilityBroadcaster.js.map +1 -0
- package/dist/objects/Package.js +154 -0
- package/dist/objects/Package.js.map +1 -0
- package/dist/objects/Product.js +193 -0
- package/dist/objects/Product.js.map +1 -0
- package/dist/objects/SDK.js +152 -0
- package/dist/objects/SDK.js.map +1 -0
- package/dist/objects/SaaS.js +235 -0
- package/dist/objects/SaaS.js.map +1 -0
- package/dist/objects/SandboxDO.js +759 -0
- package/dist/objects/SandboxDO.js.map +1 -0
- package/dist/objects/Service.js +337 -0
- package/dist/objects/Service.js.map +1 -0
- package/dist/objects/Site.js +80 -0
- package/dist/objects/Site.js.map +1 -0
- package/dist/objects/Startup.js +479 -0
- package/dist/objects/Startup.js.map +1 -0
- package/dist/objects/ThingsDO.js +170 -0
- package/dist/objects/ThingsDO.js.map +1 -0
- package/dist/objects/VectorShardDO.js +650 -0
- package/dist/objects/VectorShardDO.js.map +1 -0
- package/dist/objects/Worker.js +144 -0
- package/dist/objects/Worker.js.map +1 -0
- package/dist/objects/Workflow.js +196 -0
- package/dist/objects/Workflow.js.map +1 -0
- package/dist/objects/WorkflowFactory.js +313 -0
- package/dist/objects/WorkflowFactory.js.map +1 -0
- package/dist/objects/WorkflowRuntime.js +863 -0
- package/dist/objects/WorkflowRuntime.js.map +1 -0
- package/dist/objects/circuit-breaker-bulkhead.js +178 -0
- package/dist/objects/circuit-breaker-bulkhead.js.map +1 -0
- package/dist/objects/createFunction.js +934 -0
- package/dist/objects/createFunction.js.map +1 -0
- package/dist/objects/index.js +80 -0
- package/dist/objects/index.js.map +1 -0
- package/dist/objects/lifecycle/Branch.js +275 -0
- package/dist/objects/lifecycle/Branch.js.map +1 -0
- package/dist/objects/lifecycle/Clone.js +1499 -0
- package/dist/objects/lifecycle/Clone.js.map +1 -0
- package/dist/objects/lifecycle/Compact.js +237 -0
- package/dist/objects/lifecycle/Compact.js.map +1 -0
- package/dist/objects/lifecycle/Promote.js +476 -0
- package/dist/objects/lifecycle/Promote.js.map +1 -0
- package/dist/objects/lifecycle/Shard.js +560 -0
- package/dist/objects/lifecycle/Shard.js.map +1 -0
- package/dist/objects/lifecycle/index.js +15 -0
- package/dist/objects/lifecycle/index.js.map +1 -0
- package/dist/objects/lifecycle/types.js +33 -0
- package/dist/objects/lifecycle/types.js.map +1 -0
- package/dist/objects/mixins/infrastructure.js +171 -0
- package/dist/objects/mixins/infrastructure.js.map +1 -0
- package/dist/objects/modules/StoresModule.js +153 -0
- package/dist/objects/modules/StoresModule.js.map +1 -0
- package/dist/objects/persistence/checkpoint-manager.js +606 -0
- package/dist/objects/persistence/checkpoint-manager.js.map +1 -0
- package/dist/objects/persistence/index.js +72 -0
- package/dist/objects/persistence/index.js.map +1 -0
- package/dist/objects/persistence/migration-runner.js +562 -0
- package/dist/objects/persistence/migration-runner.js.map +1 -0
- package/dist/objects/persistence/replication-manager.js +501 -0
- package/dist/objects/persistence/replication-manager.js.map +1 -0
- package/dist/objects/persistence/tiered-storage-manager.js +595 -0
- package/dist/objects/persistence/tiered-storage-manager.js.map +1 -0
- package/dist/objects/persistence/types.js +14 -0
- package/dist/objects/persistence/types.js.map +1 -0
- package/dist/objects/persistence/wal-manager.js +653 -0
- package/dist/objects/persistence/wal-manager.js.map +1 -0
- package/dist/objects/presets/index.js +20 -0
- package/dist/objects/presets/index.js.map +1 -0
- package/dist/objects/presets/primitives.js +188 -0
- package/dist/objects/presets/primitives.js.map +1 -0
- package/dist/objects/primitives/alarm-adapter.js +141 -0
- package/dist/objects/primitives/alarm-adapter.js.map +1 -0
- package/dist/objects/primitives/index.js +337 -0
- package/dist/objects/primitives/index.js.map +1 -0
- package/dist/objects/primitives/storage-adapter.js +182 -0
- package/dist/objects/primitives/storage-adapter.js.map +1 -0
- package/dist/objects/primitives/with-primitives.js +102 -0
- package/dist/objects/primitives/with-primitives.js.map +1 -0
- package/dist/objects/services/StoreManager.js +227 -0
- package/dist/objects/services/StoreManager.js.map +1 -0
- package/dist/objects/services/index.js +13 -0
- package/dist/objects/services/index.js.map +1 -0
- package/dist/objects/transport/auth-layer.js +1451 -0
- package/dist/objects/transport/auth-layer.js.map +1 -0
- package/dist/objects/transport/capnweb-target.js +355 -0
- package/dist/objects/transport/capnweb-target.js.map +1 -0
- package/dist/objects/transport/chain.js +441 -0
- package/dist/objects/transport/chain.js.map +1 -0
- package/dist/objects/transport/handler.js +58 -0
- package/dist/objects/transport/handler.js.map +1 -0
- package/dist/objects/transport/index.js +53 -0
- package/dist/objects/transport/index.js.map +1 -0
- package/dist/objects/transport/mcp-server.js +691 -0
- package/dist/objects/transport/mcp-server.js.map +1 -0
- package/dist/objects/transport/rest-autowire.js +1508 -0
- package/dist/objects/transport/rest-autowire.js.map +1 -0
- package/dist/objects/transport/rest-router.js +440 -0
- package/dist/objects/transport/rest-router.js.map +1 -0
- package/dist/objects/transport/rpc-server.js +1539 -0
- package/dist/objects/transport/rpc-server.js.map +1 -0
- package/dist/objects/transport/shared.js +576 -0
- package/dist/objects/transport/shared.js.map +1 -0
- package/dist/objects/transport/sync-engine.js +291 -0
- package/dist/objects/transport/sync-engine.js.map +1 -0
- package/dist/objects/transport/types.js +8 -0
- package/dist/objects/transport/types.js.map +1 -0
- package/dist/sandbox/index.js +258 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/snippets/artifacts-config.js +241 -0
- package/dist/snippets/artifacts-config.js.map +1 -0
- package/dist/snippets/artifacts-ingest.js +832 -0
- package/dist/snippets/artifacts-ingest.js.map +1 -0
- package/dist/snippets/artifacts-serve.js +1035 -0
- package/dist/snippets/artifacts-serve.js.map +1 -0
- package/dist/snippets/artifacts-types.js +161 -0
- package/dist/snippets/artifacts-types.js.map +1 -0
- package/dist/snippets/cache-probe.js +376 -0
- package/dist/snippets/cache-probe.js.map +1 -0
- package/dist/snippets/cache.js +10 -0
- package/dist/snippets/cache.js.map +1 -0
- package/dist/snippets/events.js +469 -0
- package/dist/snippets/events.js.map +1 -0
- package/dist/snippets/index.js +7 -0
- package/dist/snippets/index.js.map +1 -0
- package/dist/snippets/proxy.js +495 -0
- package/dist/snippets/proxy.js.map +1 -0
- package/dist/snippets/search.js +1759 -0
- package/dist/snippets/search.js.map +1 -0
- package/dist/streams/index.js +30 -0
- package/dist/streams/index.js.map +1 -0
- package/dist/streams/observability.js +68 -0
- package/dist/streams/observability.js.map +1 -0
- package/dist/types/AI.js +92 -0
- package/dist/types/AI.js.map +1 -0
- package/dist/types/AIFunction.js +171 -0
- package/dist/types/AIFunction.js.map +1 -0
- package/dist/types/BrowseVerb.js +89 -0
- package/dist/types/BrowseVerb.js.map +1 -0
- package/dist/types/Browser.js +31 -0
- package/dist/types/Browser.js.map +1 -0
- package/dist/types/Chaos.js +15 -0
- package/dist/types/Chaos.js.map +1 -0
- package/dist/types/CloudflareBindings.js +109 -0
- package/dist/types/CloudflareBindings.js.map +1 -0
- package/dist/types/Collection.js +50 -0
- package/dist/types/Collection.js.map +1 -0
- package/dist/types/DO.js +2 -0
- package/dist/types/DO.js.map +1 -0
- package/dist/types/DOLocation.js +63 -0
- package/dist/types/DOLocation.js.map +1 -0
- package/dist/types/EventHandler.js +57 -0
- package/dist/types/EventHandler.js.map +1 -0
- package/dist/types/Experiment.js +33 -0
- package/dist/types/Experiment.js.map +1 -0
- package/dist/types/Flag.js +57 -0
- package/dist/types/Flag.js.map +1 -0
- package/dist/types/Lifecycle.js +13 -0
- package/dist/types/Lifecycle.js.map +1 -0
- package/dist/types/Location.js +169 -0
- package/dist/types/Location.js.map +1 -0
- package/dist/types/Noun.js +66 -0
- package/dist/types/Noun.js.map +1 -0
- package/dist/types/SessionEvent.js +194 -0
- package/dist/types/SessionEvent.js.map +1 -0
- package/dist/types/Thing.js +55 -0
- package/dist/types/Thing.js.map +1 -0
- package/dist/types/ThingDO.js +153 -0
- package/dist/types/ThingDO.js.map +1 -0
- package/dist/types/Things.js +2 -0
- package/dist/types/Things.js.map +1 -0
- package/dist/types/Verb.js +119 -0
- package/dist/types/Verb.js.map +1 -0
- package/dist/types/WorkflowContext.js +70 -0
- package/dist/types/WorkflowContext.js.map +1 -0
- package/dist/types/analytics-api.js +13 -0
- package/dist/types/analytics-api.js.map +1 -0
- package/dist/types/capabilities.js +135 -0
- package/dist/types/capabilities.js.map +1 -0
- package/dist/types/drizzle.js +12 -0
- package/dist/types/drizzle.js.map +1 -0
- package/dist/types/event.js +201 -0
- package/dist/types/event.js.map +1 -0
- package/dist/types/fn.js +12 -0
- package/dist/types/fn.js.map +1 -0
- package/dist/types/iceberg.js +48 -0
- package/dist/types/iceberg.js.map +1 -0
- package/dist/types/ids.js +170 -0
- package/dist/types/ids.js.map +1 -0
- package/dist/types/index.js +41 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/introspect.js +54 -0
- package/dist/types/introspect.js.map +1 -0
- package/dist/types/observability.js +124 -0
- package/dist/types/observability.js.map +1 -0
- package/dist/types/sync-protocol.js +175 -0
- package/dist/types/sync-protocol.js.map +1 -0
- package/dist/types/vector.js +13 -0
- package/dist/types/vector.js.map +1 -0
- package/dist/workflows/ScheduleManager.js +473 -0
- package/dist/workflows/ScheduleManager.js.map +1 -0
- package/dist/workflows/StepDOBridge.js +149 -0
- package/dist/workflows/StepDOBridge.js.map +1 -0
- package/dist/workflows/StepResultStorage.js +232 -0
- package/dist/workflows/StepResultStorage.js.map +1 -0
- package/dist/workflows/WaitForEventManager.js +461 -0
- package/dist/workflows/WaitForEventManager.js.map +1 -0
- package/dist/workflows/analyzer.js +332 -0
- package/dist/workflows/analyzer.js.map +1 -0
- package/dist/workflows/compat/activity-router.js +484 -0
- package/dist/workflows/compat/activity-router.js.map +1 -0
- package/dist/workflows/compat/backends/cloudflare-workflows.js +431 -0
- package/dist/workflows/compat/backends/cloudflare-workflows.js.map +1 -0
- package/dist/workflows/compat/backends/index.js +14 -0
- package/dist/workflows/compat/backends/index.js.map +1 -0
- package/dist/workflows/compat/errors/index.js +375 -0
- package/dist/workflows/compat/errors/index.js.map +1 -0
- package/dist/workflows/compat/index.js +79 -0
- package/dist/workflows/compat/index.js.map +1 -0
- package/dist/workflows/compat/inngest/index.js +989 -0
- package/dist/workflows/compat/inngest/index.js.map +1 -0
- package/dist/workflows/compat/qstash/index.js +1263 -0
- package/dist/workflows/compat/qstash/index.js.map +1 -0
- package/dist/workflows/compat/temporal/activities.js +739 -0
- package/dist/workflows/compat/temporal/activities.js.map +1 -0
- package/dist/workflows/compat/temporal/child-workflows.js +154 -0
- package/dist/workflows/compat/temporal/child-workflows.js.map +1 -0
- package/dist/workflows/compat/temporal/client.js +381 -0
- package/dist/workflows/compat/temporal/client.js.map +1 -0
- package/dist/workflows/compat/temporal/context.js +309 -0
- package/dist/workflows/compat/temporal/context.js.map +1 -0
- package/dist/workflows/compat/temporal/determinism.js +216 -0
- package/dist/workflows/compat/temporal/determinism.js.map +1 -0
- package/dist/workflows/compat/temporal/errors.js +128 -0
- package/dist/workflows/compat/temporal/errors.js.map +1 -0
- package/dist/workflows/compat/temporal/index.js +2464 -0
- package/dist/workflows/compat/temporal/index.js.map +1 -0
- package/dist/workflows/compat/temporal/saga.js +504 -0
- package/dist/workflows/compat/temporal/saga.js.map +1 -0
- package/dist/workflows/compat/temporal/signals.js +364 -0
- package/dist/workflows/compat/temporal/signals.js.map +1 -0
- package/dist/workflows/compat/temporal/storage.js +271 -0
- package/dist/workflows/compat/temporal/storage.js.map +1 -0
- package/dist/workflows/compat/temporal/timers.js +347 -0
- package/dist/workflows/compat/temporal/timers.js.map +1 -0
- package/dist/workflows/compat/temporal/types.js +7 -0
- package/dist/workflows/compat/temporal/types.js.map +1 -0
- package/dist/workflows/compat/temporal/unified-primitives.js +339 -0
- package/dist/workflows/compat/temporal/unified-primitives.js.map +1 -0
- package/dist/workflows/compat/trigger/index.js +468 -0
- package/dist/workflows/compat/trigger/index.js.map +1 -0
- package/dist/workflows/compat/utils/index.js +69 -0
- package/dist/workflows/compat/utils/index.js.map +1 -0
- package/dist/workflows/context/correlation-capability.js +266 -0
- package/dist/workflows/context/correlation-capability.js.map +1 -0
- package/dist/workflows/context/correlation.js +484 -0
- package/dist/workflows/context/correlation.js.map +1 -0
- package/dist/workflows/context/experiment.js +289 -0
- package/dist/workflows/context/experiment.js.map +1 -0
- package/dist/workflows/context/flag.js +244 -0
- package/dist/workflows/context/flag.js.map +1 -0
- package/dist/workflows/context/foundation.js +648 -0
- package/dist/workflows/context/foundation.js.map +1 -0
- package/dist/workflows/context/human-base.js +106 -0
- package/dist/workflows/context/human-base.js.map +1 -0
- package/dist/workflows/context/human.js +368 -0
- package/dist/workflows/context/human.js.map +1 -0
- package/dist/workflows/context/measure.js +354 -0
- package/dist/workflows/context/measure.js.map +1 -0
- package/dist/workflows/context/rate-limit.js +358 -0
- package/dist/workflows/context/rate-limit.js.map +1 -0
- package/dist/workflows/context/user.js +117 -0
- package/dist/workflows/context/user.js.map +1 -0
- package/dist/workflows/context/vault.js +360 -0
- package/dist/workflows/context/vault.js.map +1 -0
- package/dist/workflows/data/entity-events/entity-events.js +489 -0
- package/dist/workflows/data/entity-events/entity-events.js.map +1 -0
- package/dist/workflows/data/experiment/index.js +599 -0
- package/dist/workflows/data/experiment/index.js.map +1 -0
- package/dist/workflows/data/goal/context.js +558 -0
- package/dist/workflows/data/goal/context.js.map +1 -0
- package/dist/workflows/data/goal/index.js +32 -0
- package/dist/workflows/data/goal/index.js.map +1 -0
- package/dist/workflows/data/measure/index.js +840 -0
- package/dist/workflows/data/measure/index.js.map +1 -0
- package/dist/workflows/data/stream/index.js +1149 -0
- package/dist/workflows/data/stream/index.js.map +1 -0
- package/dist/workflows/data/track/context.js +883 -0
- package/dist/workflows/data/track/context.js.map +1 -0
- package/dist/workflows/data/track/index.js +15 -0
- package/dist/workflows/data/track/index.js.map +1 -0
- package/dist/workflows/data/view/context.js +864 -0
- package/dist/workflows/data/view/context.js.map +1 -0
- package/dist/workflows/domain.js +93 -0
- package/dist/workflows/domain.js.map +1 -0
- package/dist/workflows/flag.js +176 -0
- package/dist/workflows/flag.js.map +1 -0
- package/dist/workflows/flags.js +217 -0
- package/dist/workflows/flags.js.map +1 -0
- package/dist/workflows/hash.js +209 -0
- package/dist/workflows/hash.js.map +1 -0
- package/dist/workflows/index.js +50 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/on.js +378 -0
- package/dist/workflows/on.js.map +1 -0
- package/dist/workflows/pipeline-promise.js +481 -0
- package/dist/workflows/pipeline-promise.js.map +1 -0
- package/dist/workflows/pipeline-types.js +20 -0
- package/dist/workflows/pipeline-types.js.map +1 -0
- package/dist/workflows/proxy.js +76 -0
- package/dist/workflows/proxy.js.map +1 -0
- package/dist/workflows/runtime.js +310 -0
- package/dist/workflows/runtime.js.map +1 -0
- package/dist/workflows/schedule-builder.js +327 -0
- package/dist/workflows/schedule-builder.js.map +1 -0
- package/dist/workflows/visibility/index.js +146 -0
- package/dist/workflows/visibility/index.js.map +1 -0
- package/dist/workflows/visibility/query-parser.js +150 -0
- package/dist/workflows/visibility/query-parser.js.map +1 -0
- package/dist/workflows/visibility/store.js +223 -0
- package/dist/workflows/visibility/store.js.map +1 -0
- package/dist/workflows/visibility/types.js +30 -0
- package/dist/workflows/visibility/types.js.map +1 -0
- package/dist/workflows/workflow.js +53 -0
- package/dist/workflows/workflow.js.map +1 -0
- package/package.json +294 -46
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chaos.js","sourceRoot":"","sources":["../../types/Chaos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CloudflareBindings - Unified Type System for Cloudflare Bindings
|
|
3
|
+
*
|
|
4
|
+
* This module provides a comprehensive type system for all Cloudflare bindings
|
|
5
|
+
* used in the dotdo platform. It supports type-safe access to:
|
|
6
|
+
*
|
|
7
|
+
* - Durable Objects (DO, BROWSER_DO, etc.)
|
|
8
|
+
* - Storage (KV, R2, D1)
|
|
9
|
+
* - AI Services (Workers AI, Vectorize)
|
|
10
|
+
* - Messaging (Queues, Pipelines)
|
|
11
|
+
* - Advanced Features (Hyperdrive, Rate Limiting, Browser Rendering)
|
|
12
|
+
*
|
|
13
|
+
* @module types/CloudflareBindings
|
|
14
|
+
*/
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// BINDING TYPE GUARDS
|
|
17
|
+
// ============================================================================
|
|
18
|
+
/**
|
|
19
|
+
* Check if KV binding is available
|
|
20
|
+
*/
|
|
21
|
+
export function hasKV(env) {
|
|
22
|
+
return env.KV !== undefined;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Check if R2 binding is available
|
|
26
|
+
*/
|
|
27
|
+
export function hasR2(env) {
|
|
28
|
+
return env.R2 !== undefined;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Check if D1 binding is available
|
|
32
|
+
*/
|
|
33
|
+
export function hasD1(env) {
|
|
34
|
+
return env.DB !== undefined;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Check if AI binding is available
|
|
38
|
+
*/
|
|
39
|
+
export function hasAI(env) {
|
|
40
|
+
return env.AI !== undefined;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Check if Vectorize binding is available
|
|
44
|
+
*/
|
|
45
|
+
export function hasVectorize(env) {
|
|
46
|
+
return env.VECTORS !== undefined;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Check if Queue binding is available
|
|
50
|
+
* @deprecated Use hasEventsQueue, hasJobsQueue, or hasWebhooksQueue instead
|
|
51
|
+
*/
|
|
52
|
+
export function hasQueue(env) {
|
|
53
|
+
return env.QUEUE !== undefined;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Check if Events Queue binding is available
|
|
57
|
+
*/
|
|
58
|
+
export function hasEventsQueue(env) {
|
|
59
|
+
return env.EVENTS_QUEUE !== undefined;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Check if Jobs Queue binding is available
|
|
63
|
+
*/
|
|
64
|
+
export function hasJobsQueue(env) {
|
|
65
|
+
return env.JOBS_QUEUE !== undefined;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Check if Webhooks Queue binding is available
|
|
69
|
+
*/
|
|
70
|
+
export function hasWebhooksQueue(env) {
|
|
71
|
+
return env.WEBHOOKS_QUEUE !== undefined;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Check if DLQ binding is available
|
|
75
|
+
*/
|
|
76
|
+
export function hasDLQ(env) {
|
|
77
|
+
return env.DLQ_QUEUE !== undefined;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Check if Pipeline binding is available
|
|
81
|
+
*/
|
|
82
|
+
export function hasPipeline(env) {
|
|
83
|
+
return env.PIPELINE !== undefined;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Check if Hyperdrive binding is available
|
|
87
|
+
*/
|
|
88
|
+
export function hasHyperdrive(env) {
|
|
89
|
+
return env.HYPERDRIVE !== undefined;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Check if Browser binding is available
|
|
93
|
+
*/
|
|
94
|
+
export function hasBrowser(env) {
|
|
95
|
+
return env.BROWSER !== undefined;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Check if Assets binding is available
|
|
99
|
+
*/
|
|
100
|
+
export function hasAssets(env) {
|
|
101
|
+
return env.ASSETS !== undefined;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Check if Analytics Engine binding is available
|
|
105
|
+
*/
|
|
106
|
+
export function hasAnalytics(env) {
|
|
107
|
+
return env.ANALYTICS !== undefined;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=CloudflareBindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloudflareBindings.js","sourceRoot":"","sources":["../../types/CloudflareBindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA+bH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,GAAkB;IACtC,OAAO,GAAG,CAAC,EAAE,KAAK,SAAS,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,GAAkB;IACtC,OAAO,GAAG,CAAC,EAAE,KAAK,SAAS,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,GAAkB;IACtC,OAAO,GAAG,CAAC,EAAE,KAAK,SAAS,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,GAAkB;IACtC,OAAO,GAAG,CAAC,EAAE,KAAK,SAAS,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAkB;IAC7C,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,CAAA;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAkB;IACzC,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAkB;IAC/C,OAAO,GAAG,CAAC,YAAY,KAAK,SAAS,CAAA;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAkB;IAC7C,OAAO,GAAG,CAAC,UAAU,KAAK,SAAS,CAAA;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAkB;IACjD,OAAO,GAAG,CAAC,cAAc,KAAK,SAAS,CAAA;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,GAAkB;IACvC,OAAO,GAAG,CAAC,SAAS,KAAK,SAAS,CAAA;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAkB;IAC5C,OAAO,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAA;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,OAAO,GAAG,CAAC,UAAU,KAAK,SAAS,CAAA;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,GAAkB;IAC3C,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,CAAA;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAkB;IAC1C,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS,CAAA;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAkB;IAC7C,OAAO,GAAG,CAAC,SAAS,KAAK,SAAS,CAAA;AACpC,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collection - Homogeneous typed container interface
|
|
3
|
+
*
|
|
4
|
+
* A Collection is a typed container where:
|
|
5
|
+
* - All items are of the same type (itemType)
|
|
6
|
+
* - IDs are constructed as `ns/id` (no type in path)
|
|
7
|
+
* - CRUD operations don't require type parameter
|
|
8
|
+
*/
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// CONSTANTS
|
|
11
|
+
// ============================================================================
|
|
12
|
+
export const COLLECTION_TYPE = 'https://schema.org.ai/Collection';
|
|
13
|
+
/**
|
|
14
|
+
* Runtime sentinel for CollectionData type.
|
|
15
|
+
* Used for type checking at runtime.
|
|
16
|
+
*/
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
|
|
18
|
+
export const CollectionData = class CollectionData {
|
|
19
|
+
static $type = COLLECTION_TYPE;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Runtime sentinel for Collection type.
|
|
23
|
+
* Used for type checking at runtime.
|
|
24
|
+
*/
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
|
|
26
|
+
export const Collection = class Collection {
|
|
27
|
+
static $type = COLLECTION_TYPE;
|
|
28
|
+
};
|
|
29
|
+
// ============================================================================
|
|
30
|
+
// UTILITY FUNCTIONS
|
|
31
|
+
// ============================================================================
|
|
32
|
+
/**
|
|
33
|
+
* Build an item ID in ns/id format (no type in path)
|
|
34
|
+
*
|
|
35
|
+
* @param ns - The namespace URL (e.g., 'https://startups.studio')
|
|
36
|
+
* @param id - The local ID (e.g., 'acme')
|
|
37
|
+
* @returns Full ID in format `ns/id` (e.g., 'https://startups.studio/acme')
|
|
38
|
+
*/
|
|
39
|
+
export function buildItemId(ns, id) {
|
|
40
|
+
return `${ns}/${id}`;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Placeholder for the collection factory function
|
|
44
|
+
* This will be implemented in the DO class
|
|
45
|
+
*/
|
|
46
|
+
export const collection = (_type) => {
|
|
47
|
+
// This is a placeholder - the actual implementation is in DO
|
|
48
|
+
throw new Error('collection() must be called on a DO instance');
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=Collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../types/Collection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,kCAAkC,CAAA;AAoBjE;;;GAGG;AACH,kEAAkE;AAClE,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,cAAc;IAChD,MAAM,CAAU,KAAK,GAAG,eAAe,CAAA;CACxC,CAAA;AAuCD;;;GAGG;AACH,kEAAkE;AAClE,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,UAAU;IACxC,MAAM,CAAU,KAAK,GAAG,eAAe,CAAA;CACxC,CAAA;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU,EAAE,EAAU;IAChD,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,CAAA;AACtB,CAAC;AAWD;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAsB,CAA0B,KAAa,EAAiB,EAAE;IACrG,6DAA6D;IAC7D,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;AACjE,CAAC,CAAA"}
|
package/dist/types/DO.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DO.js","sourceRoot":"","sources":["../../types/DO.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DO Location Types
|
|
3
|
+
*
|
|
4
|
+
* Issue: dotdo-gm44s - DO Location types
|
|
5
|
+
*
|
|
6
|
+
* CANONICAL SOURCE OF TRUTH for all DO location types.
|
|
7
|
+
* All other modules should import from here.
|
|
8
|
+
*
|
|
9
|
+
* Provides types for Durable Object location detection:
|
|
10
|
+
* - DOLocation interface (base location info for a DO)
|
|
11
|
+
* - DOLocationInfo interface (extended location info with DO metadata)
|
|
12
|
+
* - ColoMetadata interface (external colo data from WHERE-DOs-Live)
|
|
13
|
+
* - CfJsonData interface (response from workers.cloudflare.com/cf.json)
|
|
14
|
+
* - TraceData interface (response from /cdn-cgi/trace)
|
|
15
|
+
* - createDOLocation factory function
|
|
16
|
+
*/
|
|
17
|
+
import { normalizeLocation, codeToCity, } from './Location';
|
|
18
|
+
/**
|
|
19
|
+
* Create a DOLocation from a colo code or city name
|
|
20
|
+
*
|
|
21
|
+
* @param colo - Colo code or city name
|
|
22
|
+
* @param options - Optional customization
|
|
23
|
+
* @returns DOLocation with all fields populated
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* const location = createDOLocation('iad')
|
|
28
|
+
* // { colo: 'iad', city: 'Virginia', region: 'us-east', cfHint: 'enam', detectedAt: Date }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export function createDOLocation(colo, options) {
|
|
32
|
+
const normalized = normalizeLocation(colo);
|
|
33
|
+
// Get the code - normalizeLocation returns code for both ColoCode and ColoCity inputs
|
|
34
|
+
const code = normalized.code;
|
|
35
|
+
const city = codeToCity[code];
|
|
36
|
+
const result = {
|
|
37
|
+
colo: code,
|
|
38
|
+
city,
|
|
39
|
+
region: normalized.region,
|
|
40
|
+
cfHint: normalized.cfHint,
|
|
41
|
+
detectedAt: options?.detectedAt ?? new Date(),
|
|
42
|
+
};
|
|
43
|
+
if (options?.coordinates) {
|
|
44
|
+
result.coordinates = options.coordinates;
|
|
45
|
+
}
|
|
46
|
+
if (options?.cf) {
|
|
47
|
+
result.cf = options.cf;
|
|
48
|
+
}
|
|
49
|
+
if (options?.trace) {
|
|
50
|
+
result.trace = options.trace;
|
|
51
|
+
}
|
|
52
|
+
if (options?.ip) {
|
|
53
|
+
result.ip = options.ip;
|
|
54
|
+
}
|
|
55
|
+
if (options?.country) {
|
|
56
|
+
result.country = options.country;
|
|
57
|
+
}
|
|
58
|
+
if (options?.timezone) {
|
|
59
|
+
result.timezone = options.timezone;
|
|
60
|
+
}
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=DOLocation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DOLocation.js","sourceRoot":"","sources":["../../types/DOLocation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,OAAO,EACL,iBAAiB,EACjB,UAAU,GACX,MAAM,YAAY,CAAA;AA0LnB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAU,EACV,OAAiC;IAEjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAE1C,sFAAsF;IACtF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAgB,CAAA;IACxC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAE7B,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,IAAI;QACV,IAAI;QACJ,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI,IAAI,EAAE;KAC9C,CAAA;IAED,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;QACzB,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IAC1C,CAAC;IACD,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;IACxB,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC9B,CAAC;IACD,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;IACxB,CAAC;IACD,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAClC,CAAC;IACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IACpC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EventHandler Type System
|
|
3
|
+
*
|
|
4
|
+
* Provides typed event handlers for domain events. This replaces the `any` type
|
|
5
|
+
* used in workflows/on.ts handler signatures with proper generics.
|
|
6
|
+
*
|
|
7
|
+
* Issue: dotdo-1oyt - Type the event handler system
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // Define typed event handler
|
|
12
|
+
* const handleCustomerCreated: TypedEventHandler<CustomerCreatedPayload> = async (event) => {
|
|
13
|
+
* // event.data is typed as CustomerCreatedPayload
|
|
14
|
+
* console.log(`Customer ${event.data.name} created`)
|
|
15
|
+
* }
|
|
16
|
+
*
|
|
17
|
+
* // Register with $.on
|
|
18
|
+
* $.on.Customer.created(handleCustomerCreated)
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
// ============================================================================
|
|
22
|
+
// Type Guards
|
|
23
|
+
// ============================================================================
|
|
24
|
+
/**
|
|
25
|
+
* Type guard to check if an event has a specific payload shape.
|
|
26
|
+
*
|
|
27
|
+
* @param event - The domain event to check
|
|
28
|
+
* @param validator - A function that validates the payload
|
|
29
|
+
* @returns True if the event payload matches the expected type
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* if (isTypedEvent<CustomerCreatedPayload>(event, (d) => 'customerId' in d)) {
|
|
34
|
+
* // event.data is typed as CustomerCreatedPayload
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function isTypedEvent(event, validator) {
|
|
39
|
+
return validator(event.data);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Assert that an event has a specific payload type.
|
|
43
|
+
*
|
|
44
|
+
* @param event - The domain event to assert
|
|
45
|
+
* @returns The event with typed payload
|
|
46
|
+
* @throws If called at runtime (this is primarily for type narrowing)
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const typedEvent = assertEventPayload<CustomerCreatedPayload>(event)
|
|
51
|
+
* console.log(typedEvent.data.customerId) // Type-safe access
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export function assertEventPayload(event) {
|
|
55
|
+
return event;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=EventHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventHandler.js","sourceRoot":"","sources":["../../types/EventHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAwMH,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAC1B,KAA8C,EAC9C,SAA8C;IAE9C,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAA8C;IAE9C,OAAO,KAAmC,CAAA;AAC5C,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// ZOD SCHEMA - Runtime validation
|
|
4
|
+
// ============================================================================
|
|
5
|
+
/**
|
|
6
|
+
* Zod schema for Experiment validation
|
|
7
|
+
*
|
|
8
|
+
* Validates:
|
|
9
|
+
* - traffic is between 0 and 1
|
|
10
|
+
* - status is one of the allowed values
|
|
11
|
+
* - branches is a non-empty array (minimum 2 for valid experiments)
|
|
12
|
+
* - thing and metric are non-empty strings
|
|
13
|
+
*/
|
|
14
|
+
export const ExperimentSchema = z.object({
|
|
15
|
+
id: z.string().min(1),
|
|
16
|
+
thing: z.string().min(1),
|
|
17
|
+
branches: z.array(z.string()).min(2),
|
|
18
|
+
traffic: z.number().min(0).max(1),
|
|
19
|
+
metric: z.string().min(1),
|
|
20
|
+
status: z.enum(['draft', 'running', 'completed']),
|
|
21
|
+
winner: z.string().optional(),
|
|
22
|
+
createdAt: z.date().optional(),
|
|
23
|
+
updatedAt: z.date().optional(),
|
|
24
|
+
});
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// RUNTIME EXPORT - For dynamic imports and type checking
|
|
27
|
+
// ============================================================================
|
|
28
|
+
/**
|
|
29
|
+
* Runtime Experiment type marker
|
|
30
|
+
* Used for dynamic imports and runtime type identification
|
|
31
|
+
*/
|
|
32
|
+
export const Experiment = ExperimentSchema;
|
|
33
|
+
//# sourceMappingURL=Experiment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Experiment.js","sourceRoot":"","sources":["../../types/Experiment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkCvB,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAA;AAKF,+EAA+E;AAC/E,yDAAyD;AACzD,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// ZOD SCHEMAS - Runtime validation
|
|
4
|
+
// ============================================================================
|
|
5
|
+
/**
|
|
6
|
+
* Zod schema for Branch validation
|
|
7
|
+
*/
|
|
8
|
+
export const BranchSchema = z.object({
|
|
9
|
+
key: z.string(),
|
|
10
|
+
weight: z.number(),
|
|
11
|
+
payload: z.record(z.string(), z.unknown()).optional(),
|
|
12
|
+
}).strict();
|
|
13
|
+
/**
|
|
14
|
+
* Zod schema for Filter validation
|
|
15
|
+
*/
|
|
16
|
+
export const FilterSchema = z.object({
|
|
17
|
+
type: z.enum(['property', 'cohort']),
|
|
18
|
+
property: z.string().optional(),
|
|
19
|
+
operator: z.enum(['eq', 'gt', 'lt', 'contains', 'in']).optional(),
|
|
20
|
+
value: z.unknown().optional(),
|
|
21
|
+
cohortId: z.string().optional(),
|
|
22
|
+
}).strict();
|
|
23
|
+
/**
|
|
24
|
+
* Zod schema for Flag validation
|
|
25
|
+
*
|
|
26
|
+
* Validates:
|
|
27
|
+
* - id and key are strings
|
|
28
|
+
* - branches is a non-empty array
|
|
29
|
+
* - traffic is between 0 and 1
|
|
30
|
+
* - stickiness is one of: user_id, session_id, random
|
|
31
|
+
* - status is one of: active, disabled
|
|
32
|
+
* - filters is an optional array of Filter objects
|
|
33
|
+
*/
|
|
34
|
+
export const FlagSchema = z.object({
|
|
35
|
+
id: z.string(),
|
|
36
|
+
key: z.string(),
|
|
37
|
+
branches: z.array(BranchSchema).min(1),
|
|
38
|
+
traffic: z.number().min(0).max(1),
|
|
39
|
+
stickiness: z.enum(['user_id', 'session_id', 'random']),
|
|
40
|
+
status: z.enum(['active', 'disabled']),
|
|
41
|
+
filters: z.array(FilterSchema).optional(),
|
|
42
|
+
}).strict();
|
|
43
|
+
// ============================================================================
|
|
44
|
+
// VALIDATION FUNCTION
|
|
45
|
+
// ============================================================================
|
|
46
|
+
/**
|
|
47
|
+
* Validates a flag object against the FlagSchema
|
|
48
|
+
*
|
|
49
|
+
* @param flag - The flag object to validate
|
|
50
|
+
* @returns true if valid
|
|
51
|
+
* @throws ZodError if validation fails
|
|
52
|
+
*/
|
|
53
|
+
export function validateFlag(flag) {
|
|
54
|
+
FlagSchema.parse(flag);
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=Flag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Flag.js","sourceRoot":"","sources":["../../types/Flag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA6DvB,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC,MAAM,EAAE,CAAA;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC,MAAM,EAAE,CAAA;AAEX;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC,MAAM,EAAE,CAAA;AAOX,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACtB,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lifecycle Types for DO (Durable Object) lifecycle operations
|
|
3
|
+
*
|
|
4
|
+
* These types define the interfaces and options for DO lifecycle operations:
|
|
5
|
+
* - Clone: Duplicate a DO to a new location
|
|
6
|
+
* - Shard: Split a DO across multiple instances
|
|
7
|
+
* - Compact: Archive old data and reduce storage
|
|
8
|
+
* - Move: Relocate a DO to a different colo
|
|
9
|
+
* - Promote: Elevate a Thing to its own DO
|
|
10
|
+
* - Demote: Merge a promoted DO back into its parent
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=Lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lifecycle.js","sourceRoot":"","sources":["../../types/Lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Location Types for Cloudflare Edge Location Management
|
|
3
|
+
*
|
|
4
|
+
* Provides types and utilities for working with Cloudflare's edge locations:
|
|
5
|
+
* - Region type (geographic regions)
|
|
6
|
+
* - ColoCode type (IATA codes for Cloudflare colos)
|
|
7
|
+
* - ColoCity type (friendly city names)
|
|
8
|
+
* - Colo union type (code | city)
|
|
9
|
+
* - Mapping objects (cityToCode, codeToCity, coloRegion, regionToCF)
|
|
10
|
+
* - normalizeLocation() function
|
|
11
|
+
*/
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// Mapping Objects
|
|
14
|
+
// ============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Map city names to IATA codes
|
|
17
|
+
*/
|
|
18
|
+
export const cityToCode = {
|
|
19
|
+
// North America - East
|
|
20
|
+
Virginia: 'iad',
|
|
21
|
+
Newark: 'ewr',
|
|
22
|
+
Atlanta: 'atl',
|
|
23
|
+
Miami: 'mia',
|
|
24
|
+
Chicago: 'ord',
|
|
25
|
+
Dallas: 'dfw',
|
|
26
|
+
// North America - West
|
|
27
|
+
Denver: 'den',
|
|
28
|
+
SanJose: 'sjc',
|
|
29
|
+
LosAngeles: 'lax',
|
|
30
|
+
Seattle: 'sea',
|
|
31
|
+
// Europe - West
|
|
32
|
+
London: 'lhr',
|
|
33
|
+
Paris: 'cdg',
|
|
34
|
+
Amsterdam: 'ams',
|
|
35
|
+
Frankfurt: 'fra',
|
|
36
|
+
Marseille: 'mrs',
|
|
37
|
+
Milan: 'mxp',
|
|
38
|
+
// Europe - East
|
|
39
|
+
Prague: 'prg',
|
|
40
|
+
Stockholm: 'arn',
|
|
41
|
+
Vienna: 'vie',
|
|
42
|
+
// Asia-Pacific
|
|
43
|
+
Singapore: 'sin',
|
|
44
|
+
HongKong: 'hkg',
|
|
45
|
+
Tokyo: 'nrt',
|
|
46
|
+
Osaka: 'kix',
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Map IATA codes to city names
|
|
50
|
+
*/
|
|
51
|
+
export const codeToCity = {
|
|
52
|
+
// North America - East
|
|
53
|
+
iad: 'Virginia',
|
|
54
|
+
ewr: 'Newark',
|
|
55
|
+
atl: 'Atlanta',
|
|
56
|
+
mia: 'Miami',
|
|
57
|
+
ord: 'Chicago',
|
|
58
|
+
dfw: 'Dallas',
|
|
59
|
+
// North America - West
|
|
60
|
+
den: 'Denver',
|
|
61
|
+
sjc: 'SanJose',
|
|
62
|
+
lax: 'LosAngeles',
|
|
63
|
+
sea: 'Seattle',
|
|
64
|
+
// Europe - West
|
|
65
|
+
lhr: 'London',
|
|
66
|
+
cdg: 'Paris',
|
|
67
|
+
ams: 'Amsterdam',
|
|
68
|
+
fra: 'Frankfurt',
|
|
69
|
+
mrs: 'Marseille',
|
|
70
|
+
mxp: 'Milan',
|
|
71
|
+
// Europe - East
|
|
72
|
+
prg: 'Prague',
|
|
73
|
+
arn: 'Stockholm',
|
|
74
|
+
vie: 'Vienna',
|
|
75
|
+
// Asia-Pacific
|
|
76
|
+
sin: 'Singapore',
|
|
77
|
+
hkg: 'HongKong',
|
|
78
|
+
nrt: 'Tokyo',
|
|
79
|
+
kix: 'Osaka',
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Map IATA codes to regions
|
|
83
|
+
*/
|
|
84
|
+
export const coloRegion = {
|
|
85
|
+
// US West
|
|
86
|
+
lax: 'us-west',
|
|
87
|
+
sjc: 'us-west',
|
|
88
|
+
sea: 'us-west',
|
|
89
|
+
den: 'us-west',
|
|
90
|
+
// US East (includes central and south US colos)
|
|
91
|
+
iad: 'us-east',
|
|
92
|
+
ewr: 'us-east',
|
|
93
|
+
ord: 'us-east',
|
|
94
|
+
dfw: 'us-east',
|
|
95
|
+
atl: 'us-east',
|
|
96
|
+
mia: 'us-east',
|
|
97
|
+
// EU West
|
|
98
|
+
lhr: 'eu-west',
|
|
99
|
+
cdg: 'eu-west',
|
|
100
|
+
ams: 'eu-west',
|
|
101
|
+
fra: 'eu-west',
|
|
102
|
+
mrs: 'eu-west',
|
|
103
|
+
mxp: 'eu-west',
|
|
104
|
+
// EU East
|
|
105
|
+
prg: 'eu-east',
|
|
106
|
+
arn: 'eu-east',
|
|
107
|
+
vie: 'eu-east',
|
|
108
|
+
// Asia-Pacific
|
|
109
|
+
sin: 'asia-pacific',
|
|
110
|
+
hkg: 'asia-pacific',
|
|
111
|
+
nrt: 'asia-pacific',
|
|
112
|
+
kix: 'asia-pacific',
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Map regions to Cloudflare location hints
|
|
116
|
+
*/
|
|
117
|
+
export const regionToCF = {
|
|
118
|
+
'us-west': 'wnam',
|
|
119
|
+
'us-east': 'enam',
|
|
120
|
+
'south-america': 'sam',
|
|
121
|
+
'eu-west': 'weur',
|
|
122
|
+
'eu-east': 'eeur',
|
|
123
|
+
'asia-pacific': 'apac',
|
|
124
|
+
'oceania': 'oc',
|
|
125
|
+
'africa': 'afr',
|
|
126
|
+
'middle-east': 'me',
|
|
127
|
+
};
|
|
128
|
+
// ============================================================================
|
|
129
|
+
// Helper Sets for Runtime Checks
|
|
130
|
+
// ============================================================================
|
|
131
|
+
const coloCodeSet = new Set(Object.keys(codeToCity));
|
|
132
|
+
const coloCitySet = new Set(Object.keys(cityToCode));
|
|
133
|
+
const regionSet = new Set(Object.keys(regionToCF));
|
|
134
|
+
// Runtime marker for the DOLocation type (for test assertion compatibility)
|
|
135
|
+
// This satisfies `hasOwnProperty('DOLocation')` tests
|
|
136
|
+
// Note: Named differently to avoid TS2323 redeclare conflict with type re-export
|
|
137
|
+
export const DOLocationMarker = 'DOLocation';
|
|
138
|
+
/**
|
|
139
|
+
* Normalize any location input (ColoCode, ColoCity, or Region) to standard format
|
|
140
|
+
*
|
|
141
|
+
* @param location - A ColoCode, ColoCity, or Region
|
|
142
|
+
* @returns NormalizedLocation with code (undefined for Region input), region, and cfHint
|
|
143
|
+
*/
|
|
144
|
+
export function normalizeLocation(location) {
|
|
145
|
+
// Check if it's a ColoCode (e.g., 'lax')
|
|
146
|
+
if (coloCodeSet.has(location)) {
|
|
147
|
+
const code = location;
|
|
148
|
+
const region = coloRegion[code];
|
|
149
|
+
const cfHint = regionToCF[region];
|
|
150
|
+
return { code, region, cfHint };
|
|
151
|
+
}
|
|
152
|
+
// Check if it's a ColoCity (e.g., 'LosAngeles')
|
|
153
|
+
if (coloCitySet.has(location)) {
|
|
154
|
+
const city = location;
|
|
155
|
+
const code = cityToCode[city];
|
|
156
|
+
const region = coloRegion[code];
|
|
157
|
+
const cfHint = regionToCF[region];
|
|
158
|
+
return { code, region, cfHint };
|
|
159
|
+
}
|
|
160
|
+
// Must be a Region (e.g., 'us-west')
|
|
161
|
+
if (regionSet.has(location)) {
|
|
162
|
+
const region = location;
|
|
163
|
+
const cfHint = regionToCF[region];
|
|
164
|
+
return { code: undefined, region, cfHint };
|
|
165
|
+
}
|
|
166
|
+
// Should never reach here if types are correct, but handle gracefully
|
|
167
|
+
throw new Error(`Invalid location: ${location}`);
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=Location.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Location.js","sourceRoot":"","sources":["../../types/Location.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// NOUN - Type registry entry
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// ============================================================================
|
|
5
|
+
// HELPER: Parse field definition
|
|
6
|
+
// ============================================================================
|
|
7
|
+
export function parseField(name, definition) {
|
|
8
|
+
if (typeof definition === 'object') {
|
|
9
|
+
return {
|
|
10
|
+
name,
|
|
11
|
+
type: definition.type,
|
|
12
|
+
isArray: definition.type.endsWith('[]'),
|
|
13
|
+
isOptional: !definition.required,
|
|
14
|
+
isRelation: !!definition.operator,
|
|
15
|
+
relatedType: definition.targetType,
|
|
16
|
+
operator: definition.operator,
|
|
17
|
+
direction: definition.operator?.startsWith('<') ? 'backward' : 'forward',
|
|
18
|
+
matchMode: definition.operator?.includes('~') ? 'fuzzy' : 'exact',
|
|
19
|
+
prompt: definition.prompt,
|
|
20
|
+
threshold: definition.threshold,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
// Parse string definition: 'What is the idea? ->Idea'
|
|
24
|
+
const operators = ['~>', '<~', '->', '<-'];
|
|
25
|
+
for (const op of operators) {
|
|
26
|
+
const opIndex = definition.indexOf(op);
|
|
27
|
+
if (opIndex !== -1) {
|
|
28
|
+
const prompt = definition.slice(0, opIndex).trim() || undefined;
|
|
29
|
+
let targetType = definition.slice(opIndex + op.length).trim();
|
|
30
|
+
// Handle array syntax: ['->Tag']
|
|
31
|
+
const isArray = targetType.startsWith('[') && targetType.endsWith(']');
|
|
32
|
+
if (isArray) {
|
|
33
|
+
targetType = targetType.slice(1, -1);
|
|
34
|
+
}
|
|
35
|
+
// Handle optional: '->Category?'
|
|
36
|
+
const isOptional = targetType.endsWith('?');
|
|
37
|
+
if (isOptional) {
|
|
38
|
+
targetType = targetType.slice(0, -1);
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
name,
|
|
42
|
+
type: targetType,
|
|
43
|
+
isArray,
|
|
44
|
+
isOptional,
|
|
45
|
+
isRelation: true,
|
|
46
|
+
relatedType: targetType,
|
|
47
|
+
operator: op,
|
|
48
|
+
direction: op.startsWith('<') ? 'backward' : 'forward',
|
|
49
|
+
matchMode: op.includes('~') ? 'fuzzy' : 'exact',
|
|
50
|
+
prompt,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Simple field type
|
|
55
|
+
const isArray = definition.endsWith('[]');
|
|
56
|
+
const isOptional = definition.endsWith('?');
|
|
57
|
+
const type = definition.replace(/[\[\]?]/g, '');
|
|
58
|
+
return {
|
|
59
|
+
name,
|
|
60
|
+
type,
|
|
61
|
+
isArray,
|
|
62
|
+
isOptional,
|
|
63
|
+
isRelation: false,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=Noun.js.map
|