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,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capability Module Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* This module defines TypeScript interfaces for the capability system that provides
|
|
5
|
+
* lazy-loaded, tree-shakeable access to filesystem, git, and shell operations
|
|
6
|
+
* through the WorkflowContext ($) proxy.
|
|
7
|
+
*
|
|
8
|
+
* @module types/capabilities
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Error thrown when a capability is not available or fails to load.
|
|
12
|
+
*
|
|
13
|
+
* Use this error to indicate that a required capability is missing
|
|
14
|
+
* or could not be initialized.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const requireFs = ($: WorkflowContext) => {
|
|
19
|
+
* if (!hasFs($)) {
|
|
20
|
+
* throw new CapabilityError(
|
|
21
|
+
* 'fs',
|
|
22
|
+
* 'not_available',
|
|
23
|
+
* 'Filesystem capability is required for this operation'
|
|
24
|
+
* )
|
|
25
|
+
* }
|
|
26
|
+
* return $.fs
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export class CapabilityError extends Error {
|
|
31
|
+
capability;
|
|
32
|
+
reason;
|
|
33
|
+
/**
|
|
34
|
+
* Error name for instanceof checks.
|
|
35
|
+
*/
|
|
36
|
+
name = 'CapabilityError';
|
|
37
|
+
/**
|
|
38
|
+
* Create a new CapabilityError.
|
|
39
|
+
*
|
|
40
|
+
* @param capability - The name of the unavailable capability
|
|
41
|
+
* @param reason - Why the capability is unavailable
|
|
42
|
+
* @param message - Optional custom error message
|
|
43
|
+
*/
|
|
44
|
+
constructor(capability, reason, message) {
|
|
45
|
+
super(message ?? `Capability '${capability}' is ${reason.replace(/_/g, ' ')}`);
|
|
46
|
+
this.capability = capability;
|
|
47
|
+
this.reason = reason;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// ============================================================================
|
|
51
|
+
// TYPE GUARDS FOR CAPABILITY CHECKING
|
|
52
|
+
// ============================================================================
|
|
53
|
+
/**
|
|
54
|
+
* Check if a WorkflowContext has filesystem capability available.
|
|
55
|
+
*
|
|
56
|
+
* Use this type guard to narrow the context type before accessing $.fs.
|
|
57
|
+
*
|
|
58
|
+
* @param ctx - The WorkflowContext to check
|
|
59
|
+
* @returns True if fs capability is available
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const process = async ($: WorkflowContext) => {
|
|
64
|
+
* if (hasFs($)) {
|
|
65
|
+
* // $ is now typed as WithFs
|
|
66
|
+
* const data = await $.fs.readFile('/config.json')
|
|
67
|
+
* }
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export function hasFs(ctx) {
|
|
72
|
+
return ctx != null && typeof ctx.fs === 'object' && ctx.fs !== null;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Check if a WorkflowContext has git capability available.
|
|
76
|
+
*
|
|
77
|
+
* Use this type guard to narrow the context type before accessing $.git.
|
|
78
|
+
*
|
|
79
|
+
* @param ctx - The WorkflowContext to check
|
|
80
|
+
* @returns True if git capability is available
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* const process = async ($: WorkflowContext) => {
|
|
85
|
+
* if (hasGit($)) {
|
|
86
|
+
* // $ is now typed as WithGit
|
|
87
|
+
* const status = await $.git.status()
|
|
88
|
+
* }
|
|
89
|
+
* }
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export function hasGit(ctx) {
|
|
93
|
+
return ctx != null && typeof ctx.git === 'object' && ctx.git !== null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Check if a WorkflowContext has bash capability available.
|
|
97
|
+
*
|
|
98
|
+
* Use this type guard to narrow the context type before accessing $.bash.
|
|
99
|
+
*
|
|
100
|
+
* @param ctx - The WorkflowContext to check
|
|
101
|
+
* @returns True if bash capability is available
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* const process = async ($: WorkflowContext) => {
|
|
106
|
+
* if (hasBash($)) {
|
|
107
|
+
* // $ is now typed as WithBash
|
|
108
|
+
* const result = await $.bash.exec('echo hello')
|
|
109
|
+
* }
|
|
110
|
+
* }
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export function hasBash(ctx) {
|
|
114
|
+
return ctx != null && typeof ctx.bash === 'object' && ctx.bash !== null;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Check if a WorkflowContext has all capabilities available.
|
|
118
|
+
*
|
|
119
|
+
* @param ctx - The WorkflowContext to check
|
|
120
|
+
* @returns True if all capabilities are available
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```typescript
|
|
124
|
+
* const fullDeploy = async ($: WorkflowContext) => {
|
|
125
|
+
* if (!hasAllCapabilities($)) {
|
|
126
|
+
* throw new CapabilityError('all', 'not_available', 'Full system access required')
|
|
127
|
+
* }
|
|
128
|
+
* // $ is now typed as WithAllCapabilities
|
|
129
|
+
* }
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
export function hasAllCapabilities(ctx) {
|
|
133
|
+
return hasFs(ctx) && hasGit(ctx) && hasBash(ctx);
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../types/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6xBH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IActB;IACA;IAdlB;;OAEG;IACe,IAAI,GAAG,iBAAiB,CAAA;IAE1C;;;;;;OAMG;IACH,YACkB,UAA0B,EAC1B,MAA6B,EAC7C,OAAgB;QAEhB,KAAK,CAAC,OAAO,IAAI,eAAe,UAAU,QAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QAJ9D,eAAU,GAAV,UAAU,CAAgB;QAC1B,WAAM,GAAN,MAAM,CAAuB;IAI/C,CAAC;CACF;AAqED,+EAA+E;AAC/E,sCAAsC;AACtC,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,KAAK,CAAC,GAAoB;IACxC,OAAO,GAAG,IAAI,IAAI,IAAI,OAAQ,GAAc,CAAC,EAAE,KAAK,QAAQ,IAAK,GAAc,CAAC,EAAE,KAAK,IAAI,CAAA;AAC7F,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,MAAM,CAAC,GAAoB;IACzC,OAAO,GAAG,IAAI,IAAI,IAAI,OAAQ,GAAe,CAAC,GAAG,KAAK,QAAQ,IAAK,GAAe,CAAC,GAAG,KAAK,IAAI,CAAA;AACjG,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,OAAO,CAAC,GAAoB;IAC1C,OAAO,GAAG,IAAI,IAAI,IAAI,OAAQ,GAAgB,CAAC,IAAI,KAAK,QAAQ,IAAK,GAAgB,CAAC,IAAI,KAAK,IAAI,CAAA;AACrG,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAoB;IACrD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAA;AAClD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type bridge for Drizzle ORM compatibility between different SQLite drivers
|
|
3
|
+
*
|
|
4
|
+
* This module provides type aliases that allow code to work with both:
|
|
5
|
+
* - DrizzleD1Database (for D1 serverless databases in API context)
|
|
6
|
+
* - DrizzleSqliteDODatabase (for Durable Object SQLite storage)
|
|
7
|
+
*
|
|
8
|
+
* Both types extend BaseSQLiteDatabase with the same API surface, just different
|
|
9
|
+
* sync/async modes. This type bridge enables sharing schema types and query code.
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=drizzle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle.js","sourceRoot":"","sources":["../../types/drizzle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// Zod Schemas for Runtime Validation
|
|
4
|
+
// ============================================================================
|
|
5
|
+
const FunctionMethodSchema = z.enum(['code', 'generative', 'agentic', 'human']);
|
|
6
|
+
const CascadeAttemptSchema = z.object({
|
|
7
|
+
method: FunctionMethodSchema,
|
|
8
|
+
failed: z.boolean(),
|
|
9
|
+
reason: z.string().optional(),
|
|
10
|
+
});
|
|
11
|
+
const EventCascadeSchema = z.object({
|
|
12
|
+
attempts: z.array(CascadeAttemptSchema),
|
|
13
|
+
});
|
|
14
|
+
// URL validation helper
|
|
15
|
+
const isValidUrl = (value) => {
|
|
16
|
+
try {
|
|
17
|
+
new URL(value);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
// Date coercion helper - handles both Date and string inputs
|
|
25
|
+
const dateSchema = z.union([z.date(), z.string()]).transform((val) => {
|
|
26
|
+
if (val instanceof Date)
|
|
27
|
+
return val;
|
|
28
|
+
const parsed = new Date(val);
|
|
29
|
+
if (isNaN(parsed.getTime())) {
|
|
30
|
+
throw new Error('Invalid date');
|
|
31
|
+
}
|
|
32
|
+
return parsed;
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* EventSchema - Zod schema for runtime validation
|
|
36
|
+
*/
|
|
37
|
+
export const EventSchema = z.object({
|
|
38
|
+
// WHO
|
|
39
|
+
actor: z.string().min(1, 'actor is required'),
|
|
40
|
+
source: z.string().refine(isValidUrl, 'source must be a valid URL').optional(),
|
|
41
|
+
destination: z.string().refine(isValidUrl, 'destination must be a valid URL').optional(),
|
|
42
|
+
// WHAT
|
|
43
|
+
object: z.string().min(1, 'object is required'),
|
|
44
|
+
type: z.string().min(1, 'type is required'),
|
|
45
|
+
quantity: z.number().positive('quantity must be positive').optional(),
|
|
46
|
+
// WHEN
|
|
47
|
+
timestamp: dateSchema.optional(),
|
|
48
|
+
recorded: dateSchema.optional(),
|
|
49
|
+
// WHERE
|
|
50
|
+
ns: z.string().min(1, 'ns is required').refine(isValidUrl, 'ns must be a valid URL'),
|
|
51
|
+
location: z.string().optional(),
|
|
52
|
+
readPoint: z.string().optional(),
|
|
53
|
+
// WHY
|
|
54
|
+
verb: z.string().min(1, 'verb is required'),
|
|
55
|
+
disposition: z.string().optional(),
|
|
56
|
+
reason: z.string().optional(),
|
|
57
|
+
// HOW
|
|
58
|
+
method: FunctionMethodSchema.optional(),
|
|
59
|
+
branch: z.string().optional(),
|
|
60
|
+
model: z.string().optional(),
|
|
61
|
+
tools: z.array(z.string()).optional(),
|
|
62
|
+
channel: z.string().optional(),
|
|
63
|
+
cascade: EventCascadeSchema.optional(),
|
|
64
|
+
transaction: z.string().optional(),
|
|
65
|
+
context: z.record(z.string(), z.unknown()).optional(),
|
|
66
|
+
}).refine((data) => {
|
|
67
|
+
// Validate timestamp <= recorded when both are provided
|
|
68
|
+
if (data.timestamp && data.recorded) {
|
|
69
|
+
const ts = data.timestamp instanceof Date ? data.timestamp : new Date(data.timestamp);
|
|
70
|
+
const rec = data.recorded instanceof Date ? data.recorded : new Date(data.recorded);
|
|
71
|
+
return ts.getTime() <= rec.getTime();
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
}, {
|
|
75
|
+
message: 'recorded must be >= timestamp',
|
|
76
|
+
path: ['recorded'],
|
|
77
|
+
});
|
|
78
|
+
// ============================================================================
|
|
79
|
+
// Validation Functions
|
|
80
|
+
// ============================================================================
|
|
81
|
+
/**
|
|
82
|
+
* Validates event data and returns structured errors
|
|
83
|
+
*/
|
|
84
|
+
export function validateEvent(data) {
|
|
85
|
+
const errors = [];
|
|
86
|
+
// WHO validation
|
|
87
|
+
if (!data.actor || data.actor.trim() === '') {
|
|
88
|
+
errors.push({ field: 'actor', message: 'actor is required and must be non-empty' });
|
|
89
|
+
}
|
|
90
|
+
if (data.source !== undefined && !isValidUrl(data.source)) {
|
|
91
|
+
errors.push({ field: 'source', message: 'source must be a valid URL' });
|
|
92
|
+
}
|
|
93
|
+
if (data.destination !== undefined && !isValidUrl(data.destination)) {
|
|
94
|
+
errors.push({ field: 'destination', message: 'destination must be a valid URL' });
|
|
95
|
+
}
|
|
96
|
+
// WHAT validation
|
|
97
|
+
if (!data.object || data.object.trim() === '') {
|
|
98
|
+
errors.push({ field: 'object', message: 'object is required and must be non-empty' });
|
|
99
|
+
}
|
|
100
|
+
if (!data.type || data.type.trim() === '') {
|
|
101
|
+
errors.push({ field: 'type', message: 'type is required and must be non-empty' });
|
|
102
|
+
}
|
|
103
|
+
if (data.quantity !== undefined && (typeof data.quantity !== 'number' || data.quantity <= 0)) {
|
|
104
|
+
errors.push({ field: 'quantity', message: 'quantity must be a positive number' });
|
|
105
|
+
}
|
|
106
|
+
// WHEN validation
|
|
107
|
+
if (data.timestamp !== undefined) {
|
|
108
|
+
const ts = data.timestamp instanceof Date ? data.timestamp : new Date(data.timestamp);
|
|
109
|
+
if (isNaN(ts.getTime())) {
|
|
110
|
+
errors.push({ field: 'timestamp', message: 'timestamp must be a valid date' });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (data.recorded !== undefined) {
|
|
114
|
+
const rec = data.recorded instanceof Date ? data.recorded : new Date(data.recorded);
|
|
115
|
+
if (isNaN(rec.getTime())) {
|
|
116
|
+
errors.push({ field: 'recorded', message: 'recorded must be a valid date' });
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Validate timestamp <= recorded
|
|
120
|
+
if (data.timestamp && data.recorded) {
|
|
121
|
+
const ts = data.timestamp instanceof Date ? data.timestamp : new Date(data.timestamp);
|
|
122
|
+
const rec = data.recorded instanceof Date ? data.recorded : new Date(data.recorded);
|
|
123
|
+
if (!isNaN(ts.getTime()) && !isNaN(rec.getTime()) && ts.getTime() > rec.getTime()) {
|
|
124
|
+
errors.push({ field: 'recorded', message: 'recorded must be >= timestamp' });
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// WHERE validation
|
|
128
|
+
if (!data.ns || data.ns.trim() === '') {
|
|
129
|
+
errors.push({ field: 'ns', message: 'ns is required and must be non-empty' });
|
|
130
|
+
}
|
|
131
|
+
else if (!isValidUrl(data.ns)) {
|
|
132
|
+
errors.push({ field: 'ns', message: 'ns must be a valid URL' });
|
|
133
|
+
}
|
|
134
|
+
// WHY validation
|
|
135
|
+
if (!data.verb || data.verb.trim() === '') {
|
|
136
|
+
errors.push({ field: 'verb', message: 'verb is required and must be non-empty' });
|
|
137
|
+
}
|
|
138
|
+
// HOW validation
|
|
139
|
+
const validMethods = ['code', 'generative', 'agentic', 'human'];
|
|
140
|
+
if (data.method !== undefined && !validMethods.includes(data.method)) {
|
|
141
|
+
errors.push({ field: 'method', message: 'method must be one of: code, generative, agentic, human' });
|
|
142
|
+
}
|
|
143
|
+
if (data.tools !== undefined && !Array.isArray(data.tools)) {
|
|
144
|
+
errors.push({ field: 'tools', message: 'tools must be an array of strings' });
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
success: errors.length === 0,
|
|
148
|
+
errors,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Creates a complete Event from EventData, filling in defaults
|
|
153
|
+
*/
|
|
154
|
+
export function createEvent(data) {
|
|
155
|
+
// Validate first
|
|
156
|
+
const validation = validateEvent(data);
|
|
157
|
+
if (!validation.success) {
|
|
158
|
+
const errorMessages = validation.errors.map((e) => `${e.field}: ${e.message}`).join(', ');
|
|
159
|
+
throw new Error(`Invalid event data: ${errorMessages}`);
|
|
160
|
+
}
|
|
161
|
+
const now = new Date();
|
|
162
|
+
return {
|
|
163
|
+
// WHO
|
|
164
|
+
actor: data.actor,
|
|
165
|
+
source: data.source,
|
|
166
|
+
destination: data.destination,
|
|
167
|
+
// WHAT
|
|
168
|
+
object: data.object,
|
|
169
|
+
type: data.type,
|
|
170
|
+
quantity: data.quantity,
|
|
171
|
+
// WHEN (auto-generate if not provided)
|
|
172
|
+
timestamp: data.timestamp instanceof Date
|
|
173
|
+
? data.timestamp
|
|
174
|
+
: data.timestamp
|
|
175
|
+
? new Date(data.timestamp)
|
|
176
|
+
: now,
|
|
177
|
+
recorded: data.recorded instanceof Date
|
|
178
|
+
? data.recorded
|
|
179
|
+
: data.recorded
|
|
180
|
+
? new Date(data.recorded)
|
|
181
|
+
: now,
|
|
182
|
+
// WHERE
|
|
183
|
+
ns: data.ns,
|
|
184
|
+
location: data.location,
|
|
185
|
+
readPoint: data.readPoint,
|
|
186
|
+
// WHY
|
|
187
|
+
verb: data.verb,
|
|
188
|
+
disposition: data.disposition,
|
|
189
|
+
reason: data.reason,
|
|
190
|
+
// HOW
|
|
191
|
+
method: data.method,
|
|
192
|
+
branch: data.branch,
|
|
193
|
+
model: data.model,
|
|
194
|
+
tools: data.tools,
|
|
195
|
+
channel: data.channel,
|
|
196
|
+
cascade: data.cascade,
|
|
197
|
+
transaction: data.transaction,
|
|
198
|
+
context: data.context,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../types/event.ts"],"names":[],"mappings":"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"}
|
package/dist/types/fn.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fn Type System
|
|
3
|
+
*
|
|
4
|
+
* Implementation-agnostic function abstraction supporting triple calling style:
|
|
5
|
+
* 1. Direct call: fn(input, opts)
|
|
6
|
+
* 2. Tagged template with interpolation: fn`hello ${name}`
|
|
7
|
+
* 3. Tagged template with named params: fn`hello ${'name'}`
|
|
8
|
+
*
|
|
9
|
+
* @module types/fn
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=fn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fn.js","sourceRoot":"","sources":["../../types/fn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Iceberg table format types for IcebergMetadataDO
|
|
3
|
+
*
|
|
4
|
+
* These types support parsing and caching Iceberg metadata,
|
|
5
|
+
* manifest lists (Avro), manifests (Avro), and data file paths.
|
|
6
|
+
*
|
|
7
|
+
* @module types/iceberg
|
|
8
|
+
*/
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Type Guards
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Check if a filter is a combined filter (AND/OR)
|
|
14
|
+
*/
|
|
15
|
+
export function isCombinedFilter(filter) {
|
|
16
|
+
return 'type' in filter && ('and' === filter.type || 'or' === filter.type);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Check if a value matches a filter
|
|
20
|
+
*/
|
|
21
|
+
export function matchesFilter(value, filter) {
|
|
22
|
+
const { operator } = filter;
|
|
23
|
+
switch (operator) {
|
|
24
|
+
case 'is_null':
|
|
25
|
+
return value === null || value === undefined;
|
|
26
|
+
case 'is_not_null':
|
|
27
|
+
return value !== null && value !== undefined;
|
|
28
|
+
case 'eq':
|
|
29
|
+
return value === filter.value;
|
|
30
|
+
case 'neq':
|
|
31
|
+
return value !== filter.value;
|
|
32
|
+
case 'gt':
|
|
33
|
+
return typeof value === 'number' && typeof filter.value === 'number' && value > filter.value;
|
|
34
|
+
case 'gte':
|
|
35
|
+
return typeof value === 'number' && typeof filter.value === 'number' && value >= filter.value;
|
|
36
|
+
case 'lt':
|
|
37
|
+
return typeof value === 'number' && typeof filter.value === 'number' && value < filter.value;
|
|
38
|
+
case 'lte':
|
|
39
|
+
return typeof value === 'number' && typeof filter.value === 'number' && value <= filter.value;
|
|
40
|
+
case 'in':
|
|
41
|
+
return Array.isArray(filter.values) && filter.values.includes(value);
|
|
42
|
+
case 'not_in':
|
|
43
|
+
return Array.isArray(filter.values) && !filter.values.includes(value);
|
|
44
|
+
default:
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=iceberg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iceberg.js","sourceRoot":"","sources":["../../types/iceberg.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkRH,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA+B;IAC9D,OAAO,MAAM,IAAI,MAAM,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,MAAc;IAC1D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;IAE3B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAA;QAC9C,KAAK,aAAa;YAChB,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAA;QAC9C,KAAK,IAAI;YACP,OAAO,KAAK,KAAK,MAAM,CAAC,KAAK,CAAA;QAC/B,KAAK,KAAK;YACR,OAAO,KAAK,KAAK,MAAM,CAAC,KAAK,CAAA;QAC/B,KAAK,IAAI;YACP,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAC9F,KAAK,KAAK;YACR,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,CAAA;QAC/F,KAAK,IAAI;YACP,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAC9F,KAAK,KAAK;YACR,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,CAAA;QAC/F,KAAK,IAAI;YACP,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtE,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACvE;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// BRANDED ID TYPES
|
|
3
|
+
// ============================================================================
|
|
4
|
+
//
|
|
5
|
+
// Branded types (also known as opaque types or nominal types) prevent mixing up
|
|
6
|
+
// different ID types at compile time. At runtime, they are just strings, but
|
|
7
|
+
// TypeScript treats them as distinct types.
|
|
8
|
+
//
|
|
9
|
+
// Usage:
|
|
10
|
+
// const thingId: ThingId = createThingId('thing-123')
|
|
11
|
+
// const actionId: ActionId = createActionId('action-456')
|
|
12
|
+
//
|
|
13
|
+
// // Type error! ThingId is not assignable to ActionId
|
|
14
|
+
// const wrong: ActionId = thingId
|
|
15
|
+
//
|
|
16
|
+
// Reference: dotdo-h1cz - Create branded ID types
|
|
17
|
+
// ============================================================================
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// CREATOR FUNCTIONS
|
|
20
|
+
// ============================================================================
|
|
21
|
+
/**
|
|
22
|
+
* Creates a branded ThingId from a string.
|
|
23
|
+
*
|
|
24
|
+
* @param value - The string value to brand as ThingId
|
|
25
|
+
* @returns A branded ThingId
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* const thingId = createThingId('acme')
|
|
29
|
+
* // thingId has type ThingId, not string
|
|
30
|
+
*/
|
|
31
|
+
export function createThingId(value) {
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Creates a branded ActionId from a string.
|
|
36
|
+
*
|
|
37
|
+
* @param value - The string value to brand as ActionId
|
|
38
|
+
* @returns A branded ActionId
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* const actionId = createActionId('550e8400-e29b-41d4-a716-446655440000')
|
|
42
|
+
*/
|
|
43
|
+
export function createActionId(value) {
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Creates a branded EventId from a string.
|
|
48
|
+
*
|
|
49
|
+
* @param value - The string value to brand as EventId
|
|
50
|
+
* @returns A branded EventId
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* const eventId = createEventId('evt-123')
|
|
54
|
+
*/
|
|
55
|
+
export function createEventId(value) {
|
|
56
|
+
return value;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Creates a branded NounId from a string.
|
|
60
|
+
*
|
|
61
|
+
* @param value - The string value to brand as NounId
|
|
62
|
+
* @returns A branded NounId
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* const nounId = createNounId('Startup')
|
|
66
|
+
*/
|
|
67
|
+
export function createNounId(value) {
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
70
|
+
// ============================================================================
|
|
71
|
+
// ID FORMAT PATTERNS
|
|
72
|
+
// ============================================================================
|
|
73
|
+
/**
|
|
74
|
+
* Regex patterns for validating ID formats.
|
|
75
|
+
*/
|
|
76
|
+
export const ID_PATTERNS = {
|
|
77
|
+
/**
|
|
78
|
+
* ThingId: lowercase alphanumeric slug with dashes and dots allowed.
|
|
79
|
+
* Must start with a letter. No leading/trailing special chars.
|
|
80
|
+
* Excludes 'evt-' prefix to distinguish from EventId.
|
|
81
|
+
* Examples: 'acme', 'my-startup', 'headless.ly', 'tenant-123'
|
|
82
|
+
*/
|
|
83
|
+
thingId: /^[a-z][a-z0-9]*(?:[-.]?[a-z0-9]+)*$/,
|
|
84
|
+
/**
|
|
85
|
+
* Pattern to exclude EventId format from ThingId.
|
|
86
|
+
*/
|
|
87
|
+
eventIdPrefix: /^evt-/i,
|
|
88
|
+
/**
|
|
89
|
+
* ActionId: UUID v4 format (8-4-4-4-12 hex pattern).
|
|
90
|
+
* The version nibble must be 4, variant nibble must be 8, 9, a, or b.
|
|
91
|
+
* Example: '550e8400-e29b-41d4-a716-446655440000'
|
|
92
|
+
*/
|
|
93
|
+
actionId: /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,
|
|
94
|
+
/**
|
|
95
|
+
* EventId: 'evt-' prefix followed by alphanumeric identifier.
|
|
96
|
+
* Examples: 'evt-123', 'evt-abc456', 'evt-a1b2c3'
|
|
97
|
+
*/
|
|
98
|
+
eventId: /^evt-[a-z0-9]+$/i,
|
|
99
|
+
/**
|
|
100
|
+
* NounId: PascalCase identifier (must start with uppercase letter).
|
|
101
|
+
* Examples: 'Startup', 'Customer', 'PaymentMethod'
|
|
102
|
+
*/
|
|
103
|
+
nounId: /^[A-Z][a-zA-Z0-9]*$/,
|
|
104
|
+
};
|
|
105
|
+
// ============================================================================
|
|
106
|
+
// TYPE GUARDS
|
|
107
|
+
// ============================================================================
|
|
108
|
+
/**
|
|
109
|
+
* Type guard that narrows unknown to ThingId.
|
|
110
|
+
* Validates that the value is a string matching the ThingId format (lowercase slug).
|
|
111
|
+
* Rejects strings that match EventId format (evt-* prefix).
|
|
112
|
+
*
|
|
113
|
+
* @param value - The value to check
|
|
114
|
+
* @returns true if the value is a valid ThingId format, narrowing the type
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* const maybeId: unknown = 'my-startup'
|
|
118
|
+
* if (isThingId(maybeId)) {
|
|
119
|
+
* // maybeId is now typed as ThingId
|
|
120
|
+
* processThingId(maybeId)
|
|
121
|
+
* }
|
|
122
|
+
*/
|
|
123
|
+
export function isThingId(value) {
|
|
124
|
+
if (typeof value !== 'string')
|
|
125
|
+
return false;
|
|
126
|
+
// Reject excessively long strings (security/DoS protection)
|
|
127
|
+
if (value.length > 255)
|
|
128
|
+
return false;
|
|
129
|
+
// Exclude EventId format (evt-* prefix)
|
|
130
|
+
if (ID_PATTERNS.eventIdPrefix.test(value))
|
|
131
|
+
return false;
|
|
132
|
+
return ID_PATTERNS.thingId.test(value);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Type guard that narrows unknown to ActionId.
|
|
136
|
+
* Validates that the value is a string matching UUID v4 format.
|
|
137
|
+
*
|
|
138
|
+
* @param value - The value to check
|
|
139
|
+
* @returns true if the value is a valid ActionId format, narrowing the type
|
|
140
|
+
*/
|
|
141
|
+
export function isActionId(value) {
|
|
142
|
+
if (typeof value !== 'string')
|
|
143
|
+
return false;
|
|
144
|
+
return ID_PATTERNS.actionId.test(value);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Type guard that narrows unknown to EventId.
|
|
148
|
+
* Validates that the value is a string with the 'evt-' prefix followed by alphanumeric id.
|
|
149
|
+
*
|
|
150
|
+
* @param value - The value to check
|
|
151
|
+
* @returns true if the value is a valid EventId format, narrowing the type
|
|
152
|
+
*/
|
|
153
|
+
export function isEventId(value) {
|
|
154
|
+
if (typeof value !== 'string')
|
|
155
|
+
return false;
|
|
156
|
+
return ID_PATTERNS.eventId.test(value);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Type guard that narrows unknown to NounId.
|
|
160
|
+
* Validates that the value is a string in PascalCase format.
|
|
161
|
+
*
|
|
162
|
+
* @param value - The value to check
|
|
163
|
+
* @returns true if the value is a valid NounId format, narrowing the type
|
|
164
|
+
*/
|
|
165
|
+
export function isNounId(value) {
|
|
166
|
+
if (typeof value !== 'string')
|
|
167
|
+
return false;
|
|
168
|
+
return ID_PATTERNS.nounId.test(value);
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=ids.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../types/ids.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAC/E,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,4CAA4C;AAC5C,EAAE;AACF,SAAS;AACT,wDAAwD;AACxD,4DAA4D;AAC5D,EAAE;AACF,yDAAyD;AACzD,oCAAoC;AACpC,EAAE;AACF,kDAAkD;AAClD,+EAA+E;AA4D/E,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,KAAgB,CAAA;AACzB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAiB,CAAA;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,KAAgB,CAAA;AACzB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAe,CAAA;AACxB,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB;;;;;OAKG;IACH,OAAO,EAAE,qCAAqC;IAE9C;;OAEG;IACH,aAAa,EAAE,QAAQ;IAEvB;;;;OAIG;IACH,QAAQ,EAAE,wEAAwE;IAElF;;;OAGG;IACH,OAAO,EAAE,kBAAkB;IAE3B;;;OAGG;IACH,MAAM,EAAE,qBAAqB;CACrB,CAAA;AAEV,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,4DAA4D;IAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAA;IACpC,wCAAwC;IACxC,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvD,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACvC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Core types
|
|
2
|
+
export * from './Thing';
|
|
3
|
+
// Cloudflare Bindings - unified type system
|
|
4
|
+
export * from './CloudflareBindings';
|
|
5
|
+
export {
|
|
6
|
+
// Type guards
|
|
7
|
+
hasKV, hasR2, hasD1, hasAI, hasVectorize, hasQueue, hasPipeline, hasHyperdrive, hasBrowser, hasAssets, } from './CloudflareBindings';
|
|
8
|
+
// Drizzle database type bridge
|
|
9
|
+
export * from './drizzle';
|
|
10
|
+
export * from './Things';
|
|
11
|
+
export * from './Collection';
|
|
12
|
+
export * from './Noun';
|
|
13
|
+
export * from './Verb';
|
|
14
|
+
export * from './DO';
|
|
15
|
+
export * from './WorkflowContext';
|
|
16
|
+
export * from './Experiment';
|
|
17
|
+
export * from './Flag';
|
|
18
|
+
export * from './capabilities';
|
|
19
|
+
export * from './ids';
|
|
20
|
+
export * from './event';
|
|
21
|
+
export * from './fn';
|
|
22
|
+
export { COLLECTION_TYPE, buildItemId, collection } from './Collection';
|
|
23
|
+
// Typed Event Handler types
|
|
24
|
+
export * from './EventHandler';
|
|
25
|
+
export { isTypedEvent, assertEventPayload } from './EventHandler';
|
|
26
|
+
export { ExperimentSchema } from './Experiment';
|
|
27
|
+
// Introspection types
|
|
28
|
+
export * from './introspect';
|
|
29
|
+
export { STORE_VISIBILITY, ROLE_HIERARCHY, canAccessVisibility, getHighestRole, } from './introspect';
|
|
30
|
+
export { FlagSchema, BranchSchema, FilterSchema, validateFlag } from './Flag';
|
|
31
|
+
export { CapabilityError, hasFs, hasGit, hasBash, hasAllCapabilities } from './capabilities';
|
|
32
|
+
export { createThingId, createActionId, createEventId, createNounId, isThingId, isActionId, isEventId, isNounId, } from './ids';
|
|
33
|
+
export { EventSchema, validateEvent, createEvent } from './event';
|
|
34
|
+
// AI Function types
|
|
35
|
+
export * from './AIFunction';
|
|
36
|
+
export {
|
|
37
|
+
// Error classes
|
|
38
|
+
AIFunctionError, ValidationError, TimeoutError, RateLimitError, ModelError, ToolError, ContentFilterError, HumanRejectedError,
|
|
39
|
+
// Type guards
|
|
40
|
+
isAIFunctionError, isErrorCode, isCodeFunction, isGenerativeFunction, isAgenticFunction, isHumanFunction, isSuccess, isFailure, } from './AIFunction';
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,cAAc,SAAS,CAAA;AAEvB,4CAA4C;AAC5C,cAAc,sBAAsB,CAAA;AA2CpC,OAAO;AACL,cAAc;AACd,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,GACV,MAAM,sBAAsB,CAAA;AAE7B,+BAA+B;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,MAAM,CAAA;AACpB,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,MAAM,CAAA;AAQpB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAUvE,4BAA4B;AAC5B,cAAc,gBAAgB,CAAA;AAa9B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAGjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,sBAAsB;AACtB,cAAc,cAAc,CAAA;AAe5B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AA0B7E,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAY5F,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,GACT,MAAM,OAAO,CAAA;AAkBd,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAajE,oBAAoB;AACpB,cAAc,cAAc,CAAA;AAqE5B,OAAO;AACL,gBAAgB;AAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,cAAc,EACd,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB;AAClB,cAAc;AACd,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,SAAS,GACV,MAAM,cAAc,CAAA"}
|