dotdo 0.0.2 → 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/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/template-literals.js +2 -2
- package/dist/ai/template-literals.js.map +1 -1
- package/dist/api/middleware/auth.js +3 -2
- package/dist/api/middleware/auth.js.map +1 -1
- package/dist/db/iceberg/inverted-index.js +1 -1
- package/dist/db/iceberg/inverted-index.js.map +1 -1
- package/dist/db/iceberg/puffin.js.map +1 -1
- package/dist/db/json-indexes.js.map +1 -1
- package/dist/db/objects.js.map +1 -1
- package/dist/db/primitives/dag-scheduler/index.js +1 -1
- package/dist/db/primitives/dag-scheduler/index.js.map +1 -1
- package/dist/db/primitives/observability.js.map +1 -1
- package/dist/db/primitives/schema-evolution.js.map +1 -1
- package/dist/db/primitives/temporal-store.js.map +1 -1
- package/dist/db/primitives/typed-column-store.js.map +1 -1
- package/dist/db/primitives/utils/duration.js.map +1 -1
- package/dist/db/primitives/utils/murmur3.js +12 -14
- package/dist/db/primitives/utils/murmur3.js.map +1 -1
- package/dist/db/primitives/window-manager.js.map +1 -1
- package/dist/db/stores.js.map +1 -1
- package/dist/db/things.js.map +1 -1
- package/dist/lib/DODispatcher.js +2 -2
- package/dist/lib/DODispatcher.js.map +1 -1
- package/dist/lib/auto-wiring.js.map +1 -1
- package/dist/lib/channels/email.js +1 -1
- package/dist/lib/channels/email.js.map +1 -1
- package/dist/lib/channels/slack-blockkit.js.map +1 -1
- package/dist/lib/cloudflare/ai.js +1 -1
- package/dist/lib/cloudflare/ai.js.map +1 -1
- package/dist/lib/cloudflare/kv.js +1 -1
- package/dist/lib/cloudflare/kv.js.map +1 -1
- package/dist/lib/cloudflare/r2.js +3 -3
- package/dist/lib/cloudflare/r2.js.map +1 -1
- package/dist/lib/cloudflare/vectorize.js.map +1 -1
- package/dist/lib/cloudflare/workflows.js.map +1 -1
- package/dist/lib/executors/AgenticFunctionExecutor.js.map +1 -1
- package/dist/lib/executors/CodeFunctionExecutor.js.map +1 -1
- package/dist/lib/executors/GenerativeFunctionExecutor.js.map +1 -1
- package/dist/lib/executors/HumanFunctionExecutor.js +1 -1
- package/dist/lib/executors/HumanFunctionExecutor.js.map +1 -1
- package/dist/lib/executors/ParallelStepExecutor.js.map +1 -1
- package/dist/lib/experiments.js.map +1 -1
- package/dist/lib/flags/store.js.map +1 -1
- package/dist/lib/functions/FunctionComposition.js.map +1 -1
- package/dist/lib/functions/FunctionMiddleware.js.map +1 -1
- package/dist/lib/functions/FunctionRegistry.js.map +1 -1
- package/dist/lib/humans/templates.js.map +1 -1
- package/dist/lib/identity.js +2 -2
- package/dist/lib/identity.js.map +1 -1
- package/dist/lib/logging/index.js.map +1 -1
- package/dist/lib/mixins/bash.js +1 -73
- package/dist/lib/mixins/bash.js.map +1 -1
- package/dist/lib/mixins/git.js +0 -5
- package/dist/lib/mixins/git.js.map +1 -1
- package/dist/lib/mixins/npm.js.map +1 -1
- package/dist/lib/noun-id.js.map +1 -1
- package/dist/lib/rate-limit/sliding-window.js.map +1 -1
- package/dist/lib/rpc/bindings.js.map +1 -1
- package/dist/lib/safe-stringify.js.map +1 -1
- package/dist/lib/sandbox/miniflare-sandbox.js.map +1 -1
- package/dist/lib/sqids.js.map +1 -1
- package/dist/lib/sql/adapters/node-sql-parser.js.map +1 -1
- package/dist/lib/sql/adapters/pgsql-parser.js +19 -18
- package/dist/lib/sql/adapters/pgsql-parser.js.map +1 -1
- package/dist/metrics/hunch.js.map +1 -1
- package/dist/objects/API.js +1 -1
- package/dist/objects/API.js.map +1 -1
- package/dist/objects/Agent.js.map +1 -1
- package/dist/objects/Browser.js.map +1 -1
- package/dist/objects/CLI.js.map +1 -1
- package/dist/objects/DOBase.js.map +1 -1
- package/dist/objects/DOCache.js +153 -0
- package/dist/objects/DOCache.js.map +1 -0
- package/dist/objects/DOFull.js.map +1 -1
- package/dist/objects/Entity.js.map +1 -1
- package/dist/objects/Human.js.map +1 -1
- package/dist/objects/IcebergMetadataDO.js.map +1 -1
- package/dist/objects/IntegrationsDO.js.map +1 -1
- package/dist/objects/ObservabilityBroadcaster.js.map +1 -1
- package/dist/objects/Package.js.map +1 -1
- package/dist/objects/Product.js +1 -1
- package/dist/objects/Product.js.map +1 -1
- package/dist/objects/SaaS.js.map +1 -1
- package/dist/objects/SandboxDO.js.map +1 -1
- package/dist/objects/Service.js.map +1 -1
- package/dist/objects/VectorShardDO.js +9 -7
- package/dist/objects/VectorShardDO.js.map +1 -1
- package/dist/objects/Workflow.js.map +1 -1
- package/dist/objects/WorkflowFactory.js.map +1 -1
- package/dist/objects/WorkflowRuntime.js.map +1 -1
- package/dist/objects/lifecycle/Branch.js.map +1 -1
- package/dist/objects/lifecycle/Clone.js +1 -1
- package/dist/objects/lifecycle/Clone.js.map +1 -1
- package/dist/objects/lifecycle/Compact.js.map +1 -1
- package/dist/objects/lifecycle/Shard.js.map +1 -1
- package/dist/objects/persistence/checkpoint-manager.js.map +1 -1
- package/dist/objects/persistence/migration-runner.js.map +1 -1
- package/dist/objects/persistence/replication-manager.js +2 -2
- package/dist/objects/persistence/replication-manager.js.map +1 -1
- package/dist/objects/persistence/tiered-storage-manager.js.map +1 -1
- package/dist/objects/persistence/wal-manager.js.map +1 -1
- package/dist/objects/transport/auth-layer.js.map +1 -1
- package/dist/objects/transport/chain.js.map +1 -1
- package/dist/objects/transport/mcp-server.js +7 -6
- package/dist/objects/transport/mcp-server.js.map +1 -1
- package/dist/objects/transport/rest-autowire.js +3 -2
- package/dist/objects/transport/rest-autowire.js.map +1 -1
- package/dist/objects/transport/rest-router.js.map +1 -1
- package/dist/objects/transport/rpc-server.js +18 -15
- package/dist/objects/transport/rpc-server.js.map +1 -1
- package/dist/objects/transport/shared.js +2 -1
- package/dist/objects/transport/shared.js.map +1 -1
- package/dist/snippets/artifacts-ingest.js.map +1 -1
- package/dist/snippets/artifacts-serve.js.map +1 -1
- package/dist/snippets/search.js.map +1 -1
- package/dist/workflows/ScheduleManager.js.map +1 -1
- package/dist/workflows/StepResultStorage.js.map +1 -1
- package/dist/workflows/WaitForEventManager.js.map +1 -1
- package/dist/workflows/compat/backends/cloudflare-workflows.js.map +1 -1
- package/dist/workflows/compat/inngest/index.js.map +1 -1
- package/dist/workflows/compat/qstash/index.js.map +1 -1
- package/dist/workflows/compat/temporal/client.js.map +1 -1
- package/dist/workflows/compat/temporal/index.js.map +1 -1
- package/dist/workflows/compat/trigger/index.js.map +1 -1
- package/dist/workflows/compat/utils/index.js.map +1 -1
- package/dist/workflows/context/correlation.js +2 -2
- package/dist/workflows/context/correlation.js.map +1 -1
- package/dist/workflows/context/experiment.js +1 -1
- package/dist/workflows/context/experiment.js.map +1 -1
- package/dist/workflows/context/flag.js +1 -1
- package/dist/workflows/context/flag.js.map +1 -1
- package/dist/workflows/context/measure.js +1 -1
- package/dist/workflows/context/measure.js.map +1 -1
- package/dist/workflows/context/rate-limit.js.map +1 -1
- package/dist/workflows/data/entity-events/entity-events.js.map +1 -1
- package/dist/workflows/data/experiment/index.js.map +1 -1
- package/dist/workflows/data/goal/context.js +1 -1
- package/dist/workflows/data/goal/context.js.map +1 -1
- package/dist/workflows/data/measure/index.js +1 -1
- package/dist/workflows/data/measure/index.js.map +1 -1
- package/dist/workflows/data/stream/index.js +10 -76
- package/dist/workflows/data/stream/index.js.map +1 -1
- package/dist/workflows/data/track/context.js.map +1 -1
- package/dist/workflows/data/view/context.js.map +1 -1
- package/dist/workflows/domain.js.map +1 -1
- package/dist/workflows/flags.js +1 -1
- package/dist/workflows/flags.js.map +1 -1
- package/dist/workflows/hash.js.map +1 -1
- package/dist/workflows/on.js +1 -1
- package/dist/workflows/on.js.map +1 -1
- package/dist/workflows/schedule-builder.js.map +1 -1
- package/dist/workflows/visibility/index.js +0 -2
- package/dist/workflows/visibility/index.js.map +1 -1
- package/dist/workflows/visibility/query-parser.js.map +1 -1
- package/package.json +18 -3
- package/dist/api/analytics/router.js +0 -601
- package/dist/api/analytics/router.js.map +0 -1
- package/dist/api/index.js +0 -158
- package/dist/api/index.js.map +0 -1
- package/dist/api/middleware/error-handling.js +0 -176
- package/dist/api/middleware/error-handling.js.map +0 -1
- package/dist/api/middleware/request-id.js +0 -21
- package/dist/api/middleware/request-id.js.map +0 -1
- package/dist/api/pages.js +0 -1180
- package/dist/api/pages.js.map +0 -1
- package/dist/api/routes/api.js +0 -612
- package/dist/api/routes/api.js.map +0 -1
- package/dist/api/routes/browsers.js +0 -471
- package/dist/api/routes/browsers.js.map +0 -1
- package/dist/api/routes/do.js +0 -188
- package/dist/api/routes/do.js.map +0 -1
- package/dist/api/routes/mcp.js +0 -459
- package/dist/api/routes/mcp.js.map +0 -1
- package/dist/api/routes/obs.js +0 -445
- package/dist/api/routes/obs.js.map +0 -1
- package/dist/api/routes/openapi.js +0 -794
- package/dist/api/routes/openapi.js.map +0 -1
- package/dist/api/routes/rpc.js +0 -1103
- package/dist/api/routes/rpc.js.map +0 -1
- package/dist/api/routes/sandboxes.js +0 -389
- package/dist/api/routes/sandboxes.js.map +0 -1
- package/dist/api/test-do.js +0 -38
- package/dist/api/test-do.js.map +0 -1
- package/dist/api/types.js +0 -11
- package/dist/api/types.js.map +0 -1
- package/dist/cli/bin.js +0 -2
- package/dist/cli/main.js +0 -52342
- package/dist/do/bash.js +0 -35
- package/dist/do/bash.js.map +0 -1
- package/dist/do/fs.js +0 -25
- package/dist/do/fs.js.map +0 -1
- package/dist/do/full.js +0 -61
- package/dist/do/full.js.map +0 -1
- package/dist/do/git.js +0 -28
- package/dist/do/git.js.map +0 -1
- package/dist/do/index.js +0 -52
- package/dist/do/index.js.map +0 -1
- package/dist/lib/agent/tools/bash.js +0 -336
- package/dist/lib/agent/tools/bash.js.map +0 -1
- package/dist/lib/agent/tools/edit.js +0 -157
- package/dist/lib/agent/tools/edit.js.map +0 -1
- package/dist/lib/agent/tools/glob.js +0 -137
- package/dist/lib/agent/tools/glob.js.map +0 -1
- package/dist/lib/agent/tools/grep.js +0 -315
- package/dist/lib/agent/tools/grep.js.map +0 -1
- package/dist/lib/agent/tools/index.js +0 -71
- package/dist/lib/agent/tools/index.js.map +0 -1
- package/dist/lib/agent/tools/read.js +0 -212
- package/dist/lib/agent/tools/read.js.map +0 -1
- package/dist/lib/agent/tools/types.js +0 -197
- package/dist/lib/agent/tools/types.js.map +0 -1
- package/dist/lib/agent/tools/write.js +0 -159
- package/dist/lib/agent/tools/write.js.map +0 -1
- package/dist/lib/mixins/index.js +0 -29
- package/dist/lib/mixins/index.js.map +0 -1
- package/dist/primitives/bashx/src/ast/analyze.js +0 -1472
- package/dist/primitives/bashx/src/ast/analyze.js.map +0 -1
- package/dist/primitives/bashx/src/ast/parser.js +0 -1488
- package/dist/primitives/bashx/src/ast/parser.js.map +0 -1
- package/dist/primitives/bashx/src/do/commands/crypto.js +0 -1954
- package/dist/primitives/bashx/src/do/commands/crypto.js.map +0 -1
- package/dist/primitives/bashx/src/do/commands/data-processing.js +0 -1812
- package/dist/primitives/bashx/src/do/commands/data-processing.js.map +0 -1
- package/dist/primitives/bashx/src/do/commands/extended-utils.js +0 -804
- package/dist/primitives/bashx/src/do/commands/extended-utils.js.map +0 -1
- package/dist/primitives/bashx/src/do/commands/math-control.js +0 -1122
- package/dist/primitives/bashx/src/do/commands/math-control.js.map +0 -1
- package/dist/primitives/bashx/src/do/commands/posix-utils.js +0 -1015
- package/dist/primitives/bashx/src/do/commands/posix-utils.js.map +0 -1
- package/dist/primitives/bashx/src/do/commands/system-utils.js +0 -687
- package/dist/primitives/bashx/src/do/commands/system-utils.js.map +0 -1
- package/dist/primitives/bashx/src/do/commands/test-command.js +0 -523
- package/dist/primitives/bashx/src/do/commands/test-command.js.map +0 -1
- package/dist/primitives/bashx/src/do/commands/text-processing.js +0 -1550
- package/dist/primitives/bashx/src/do/commands/text-processing.js.map +0 -1
- package/dist/primitives/bashx/src/do/container-executor.js +0 -429
- package/dist/primitives/bashx/src/do/container-executor.js.map +0 -1
- package/dist/primitives/bashx/src/do/index.js +0 -668
- package/dist/primitives/bashx/src/do/index.js.map +0 -1
- package/dist/primitives/bashx/src/do/tiered-executor.js +0 -2647
- package/dist/primitives/bashx/src/do/tiered-executor.js.map +0 -1
- package/dist/primitives/bashx/src/do/worker.js +0 -352
- package/dist/primitives/bashx/src/do/worker.js.map +0 -1
- package/dist/primitives/bashx/src/types.js +0 -10
- package/dist/primitives/bashx/src/types.js.map +0 -1
- package/dist/primitives/fsx/core/backend.js +0 -480
- package/dist/primitives/fsx/core/backend.js.map +0 -1
- package/dist/primitives/fsx/core/constants.js +0 -140
- package/dist/primitives/fsx/core/constants.js.map +0 -1
- package/dist/primitives/fsx/core/fsx.js +0 -1184
- package/dist/primitives/fsx/core/fsx.js.map +0 -1
- package/dist/primitives/fsx/core/glob/glob.js +0 -438
- package/dist/primitives/fsx/core/glob/glob.js.map +0 -1
- package/dist/primitives/fsx/core/glob/index.js +0 -8
- package/dist/primitives/fsx/core/glob/index.js.map +0 -1
- package/dist/primitives/fsx/core/glob/match.js +0 -392
- package/dist/primitives/fsx/core/glob/match.js.map +0 -1
- package/dist/primitives/fsx/core/types.js +0 -307
- package/dist/primitives/fsx/core/types.js.map +0 -1
- package/dist/sdk/capnweb-compat.js +0 -42
- package/dist/sdk/capnweb-compat.js.map +0 -1
- package/dist/sdk/client.js +0 -20
- package/dist/sdk/client.js.map +0 -1
- package/dist/sdk/index.js +0 -17
- package/dist/sdk/index.js.map +0 -1
package/dist/api/index.js
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { Hono } from 'hono';
|
|
2
|
-
import { cors } from 'hono/cors';
|
|
3
|
-
import { logger } from 'hono/logger';
|
|
4
|
-
import { apiRoutes } from './routes/api';
|
|
5
|
-
import { mcpRoutes } from './routes/mcp';
|
|
6
|
-
import { rpcRoutes } from './routes/rpc';
|
|
7
|
-
import { doRoutes } from './routes/do';
|
|
8
|
-
import { browsersRoutes } from './routes/browsers';
|
|
9
|
-
import { sandboxesRoutes } from './routes/sandboxes';
|
|
10
|
-
import { obsRoutes } from './routes/obs';
|
|
11
|
-
import { analyticsRouter } from './analytics/router';
|
|
12
|
-
import { getOpenAPIDocument } from './routes/openapi';
|
|
13
|
-
import { errorHandler } from './middleware/error-handling';
|
|
14
|
-
import { requestIdMiddleware } from './middleware/request-id';
|
|
15
|
-
import { landingPageHtml, docsPageHtml, adminDashboardHtml, adminLoginHtml, adminUsersHtml, adminUserNewHtml, adminWorkflowsHtml, adminIntegrationsHtml, adminApiKeysHtml, adminSettingsHtml, adminSettingsAccountHtml, adminSettingsSecurityHtml, adminActivityHtml, notFoundHtml } from './pages';
|
|
16
|
-
// Re-export Durable Object classes for wrangler
|
|
17
|
-
export { TestDurableObject } from './test-do';
|
|
18
|
-
export { DurableObject } from 'cloudflare:workers';
|
|
19
|
-
export { Browser } from '../objects/Browser';
|
|
20
|
-
export { ThingsDO } from '../objects/ThingsDO';
|
|
21
|
-
export { SandboxDO } from '../objects/SandboxDO';
|
|
22
|
-
export { ObservabilityBroadcaster } from '../objects/ObservabilityBroadcaster';
|
|
23
|
-
// Create the Hono app
|
|
24
|
-
export const app = new Hono();
|
|
25
|
-
// Global middleware
|
|
26
|
-
app.use('*', errorHandler);
|
|
27
|
-
app.use('*', requestIdMiddleware);
|
|
28
|
-
app.use('*', logger());
|
|
29
|
-
app.use('*', cors());
|
|
30
|
-
// Landing page
|
|
31
|
-
app.get('/', (c) => {
|
|
32
|
-
return c.html(landingPageHtml());
|
|
33
|
-
});
|
|
34
|
-
// Documentation routes
|
|
35
|
-
app.get('/docs', (c) => {
|
|
36
|
-
return c.html(docsPageHtml('index'));
|
|
37
|
-
});
|
|
38
|
-
app.get('/docs/', (c) => {
|
|
39
|
-
return c.html(docsPageHtml('index'));
|
|
40
|
-
});
|
|
41
|
-
app.get('/docs/getting-started', (c) => {
|
|
42
|
-
return c.html(docsPageHtml('getting-started'));
|
|
43
|
-
});
|
|
44
|
-
app.get('/docs/api', (c) => {
|
|
45
|
-
return c.html(docsPageHtml('api'));
|
|
46
|
-
});
|
|
47
|
-
app.get('/docs/*', (c) => {
|
|
48
|
-
const path = c.req.path.replace('/docs/', '');
|
|
49
|
-
return c.html(docsPageHtml(path));
|
|
50
|
-
});
|
|
51
|
-
// Admin routes
|
|
52
|
-
app.get('/admin', (c) => {
|
|
53
|
-
return c.html(adminDashboardHtml());
|
|
54
|
-
});
|
|
55
|
-
app.get('/admin/', (c) => {
|
|
56
|
-
return c.html(adminDashboardHtml());
|
|
57
|
-
});
|
|
58
|
-
app.get('/admin/login', (c) => {
|
|
59
|
-
return c.html(adminLoginHtml());
|
|
60
|
-
});
|
|
61
|
-
app.get('/admin/users', (c) => {
|
|
62
|
-
return c.html(adminUsersHtml());
|
|
63
|
-
});
|
|
64
|
-
app.get('/admin/users/', (c) => {
|
|
65
|
-
return c.html(adminUsersHtml());
|
|
66
|
-
});
|
|
67
|
-
app.get('/admin/users/new', (c) => {
|
|
68
|
-
return c.html(adminUserNewHtml());
|
|
69
|
-
});
|
|
70
|
-
app.get('/admin/users/:id', (c) => {
|
|
71
|
-
return c.html(adminUsersHtml());
|
|
72
|
-
});
|
|
73
|
-
app.get('/admin/workflows', (c) => {
|
|
74
|
-
return c.html(adminWorkflowsHtml());
|
|
75
|
-
});
|
|
76
|
-
app.get('/admin/workflows/', (c) => {
|
|
77
|
-
return c.html(adminWorkflowsHtml());
|
|
78
|
-
});
|
|
79
|
-
app.get('/admin/workflows/:id', (c) => {
|
|
80
|
-
return c.html(adminWorkflowsHtml());
|
|
81
|
-
});
|
|
82
|
-
app.get('/admin/workflows/:id/runs', (c) => {
|
|
83
|
-
return c.html(adminWorkflowsHtml());
|
|
84
|
-
});
|
|
85
|
-
app.get('/admin/integrations', (c) => {
|
|
86
|
-
return c.html(adminIntegrationsHtml());
|
|
87
|
-
});
|
|
88
|
-
app.get('/admin/integrations/', (c) => {
|
|
89
|
-
return c.html(adminIntegrationsHtml());
|
|
90
|
-
});
|
|
91
|
-
app.get('/admin/integrations/api-keys', (c) => {
|
|
92
|
-
return c.html(adminApiKeysHtml());
|
|
93
|
-
});
|
|
94
|
-
app.get('/admin/settings', (c) => {
|
|
95
|
-
return c.html(adminSettingsHtml());
|
|
96
|
-
});
|
|
97
|
-
app.get('/admin/settings/', (c) => {
|
|
98
|
-
return c.html(adminSettingsHtml());
|
|
99
|
-
});
|
|
100
|
-
app.get('/admin/settings/account', (c) => {
|
|
101
|
-
return c.html(adminSettingsAccountHtml());
|
|
102
|
-
});
|
|
103
|
-
app.get('/admin/settings/security', (c) => {
|
|
104
|
-
return c.html(adminSettingsSecurityHtml());
|
|
105
|
-
});
|
|
106
|
-
app.get('/admin/activity', (c) => {
|
|
107
|
-
return c.html(adminActivityHtml());
|
|
108
|
-
});
|
|
109
|
-
app.get('/admin/activity/', (c) => {
|
|
110
|
-
return c.html(adminActivityHtml());
|
|
111
|
-
});
|
|
112
|
-
// Handle /api/ explicitly (trailing slash)
|
|
113
|
-
app.get('/api/', (c) => {
|
|
114
|
-
return c.json({
|
|
115
|
-
name: 'dotdo',
|
|
116
|
-
version: '0.0.1',
|
|
117
|
-
endpoints: ['/api/health', '/api/things'],
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
// OpenAPI spec endpoint
|
|
121
|
-
app.get('/api/openapi.json', (c) => {
|
|
122
|
-
const spec = getOpenAPIDocument();
|
|
123
|
-
return c.json(spec, 200, {
|
|
124
|
-
'Access-Control-Allow-Origin': '*',
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
// Mount API routes
|
|
128
|
-
app.route('/api', apiRoutes);
|
|
129
|
-
// Mount Browser API routes
|
|
130
|
-
app.route('/api/browsers', browsersRoutes);
|
|
131
|
-
// Mount Sandbox API routes
|
|
132
|
-
app.route('/api/sandboxes', sandboxesRoutes);
|
|
133
|
-
// Mount Observability API routes
|
|
134
|
-
app.route('/api/obs', obsRoutes);
|
|
135
|
-
// Mount Analytics API routes
|
|
136
|
-
// Endpoints: /api/analytics/v1/search, /api/analytics/v1/lookup/:table/:key, /api/analytics/v1/query
|
|
137
|
-
app.route('/api/analytics', analyticsRouter);
|
|
138
|
-
// Mount MCP routes
|
|
139
|
-
app.route('/mcp', mcpRoutes);
|
|
140
|
-
// Mount RPC routes
|
|
141
|
-
app.route('/rpc', rpcRoutes);
|
|
142
|
-
// Mount DO routes for direct DO instance access
|
|
143
|
-
// Pattern: /:doClass/:id/* (e.g., /DO/user-123/profile)
|
|
144
|
-
// Must be mounted AFTER specific routes (/api, /mcp, /rpc, /docs, /admin)
|
|
145
|
-
// but BEFORE the catch-all
|
|
146
|
-
app.route('/', doRoutes);
|
|
147
|
-
// Catch-all for unknown routes - return 404 HTML page
|
|
148
|
-
app.all('*', (c) => {
|
|
149
|
-
// API routes should return JSON 404
|
|
150
|
-
if (c.req.path.startsWith('/api/')) {
|
|
151
|
-
return c.json({ error: { code: 'NOT_FOUND', message: `Not found: ${c.req.path}` } }, 404);
|
|
152
|
-
}
|
|
153
|
-
// All other routes return HTML 404 page
|
|
154
|
-
return c.html(notFoundHtml(), 404);
|
|
155
|
-
});
|
|
156
|
-
// Export the app with fetch handler
|
|
157
|
-
export default app;
|
|
158
|
-
//# sourceMappingURL=index.js.map
|
package/dist/api/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
import { HTTPException } from 'hono/http-exception';
|
|
2
|
-
/**
|
|
3
|
-
* Custom error classes for specific HTTP errors
|
|
4
|
-
*/
|
|
5
|
-
export class BadRequestError extends Error {
|
|
6
|
-
code = 'BAD_REQUEST';
|
|
7
|
-
status = 400;
|
|
8
|
-
constructor(message) {
|
|
9
|
-
super(message);
|
|
10
|
-
this.name = 'BadRequestError';
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export class UnauthorizedError extends Error {
|
|
14
|
-
code = 'UNAUTHORIZED';
|
|
15
|
-
status = 401;
|
|
16
|
-
constructor(message = 'Unauthorized') {
|
|
17
|
-
super(message);
|
|
18
|
-
this.name = 'UnauthorizedError';
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export class ForbiddenError extends Error {
|
|
22
|
-
code = 'FORBIDDEN';
|
|
23
|
-
status = 403;
|
|
24
|
-
constructor(message = 'Forbidden') {
|
|
25
|
-
super(message);
|
|
26
|
-
this.name = 'ForbiddenError';
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export class NotFoundError extends Error {
|
|
30
|
-
code = 'NOT_FOUND';
|
|
31
|
-
status = 404;
|
|
32
|
-
constructor(message = 'Not found') {
|
|
33
|
-
super(message);
|
|
34
|
-
this.name = 'NotFoundError';
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
export class MethodNotAllowedError extends Error {
|
|
38
|
-
code = 'METHOD_NOT_ALLOWED';
|
|
39
|
-
status = 405;
|
|
40
|
-
allowed;
|
|
41
|
-
constructor(allowed, message) {
|
|
42
|
-
super(message || `Method not allowed. Allowed: ${allowed.join(', ')}`);
|
|
43
|
-
this.name = 'MethodNotAllowedError';
|
|
44
|
-
this.allowed = allowed;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
export class ConflictError extends Error {
|
|
48
|
-
code = 'CONFLICT';
|
|
49
|
-
status = 409;
|
|
50
|
-
constructor(message = 'Conflict') {
|
|
51
|
-
super(message);
|
|
52
|
-
this.name = 'ConflictError';
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
export class UnprocessableEntityError extends Error {
|
|
56
|
-
code = 'UNPROCESSABLE_ENTITY';
|
|
57
|
-
status = 422;
|
|
58
|
-
errors;
|
|
59
|
-
constructor(message = 'Validation failed', errors) {
|
|
60
|
-
super(message);
|
|
61
|
-
this.name = 'UnprocessableEntityError';
|
|
62
|
-
this.errors = errors;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
export class InternalServerError extends Error {
|
|
66
|
-
code = 'INTERNAL_SERVER_ERROR';
|
|
67
|
-
status = 500;
|
|
68
|
-
constructor(message = 'Internal server error') {
|
|
69
|
-
super(message);
|
|
70
|
-
this.name = 'InternalServerError';
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
function getStatusCode(err) {
|
|
74
|
-
if (err instanceof HTTPException)
|
|
75
|
-
return err.status;
|
|
76
|
-
if (err instanceof BadRequestError)
|
|
77
|
-
return 400;
|
|
78
|
-
if (err instanceof UnauthorizedError)
|
|
79
|
-
return 401;
|
|
80
|
-
if (err instanceof ForbiddenError)
|
|
81
|
-
return 403;
|
|
82
|
-
if (err instanceof NotFoundError)
|
|
83
|
-
return 404;
|
|
84
|
-
if (err instanceof MethodNotAllowedError)
|
|
85
|
-
return 405;
|
|
86
|
-
if (err instanceof ConflictError)
|
|
87
|
-
return 409;
|
|
88
|
-
if (err instanceof UnprocessableEntityError)
|
|
89
|
-
return 422;
|
|
90
|
-
if (err instanceof InternalServerError)
|
|
91
|
-
return 500;
|
|
92
|
-
if (err && typeof err === 'object' && 'status' in err) {
|
|
93
|
-
return err.status;
|
|
94
|
-
}
|
|
95
|
-
return 500;
|
|
96
|
-
}
|
|
97
|
-
function getErrorCode(err) {
|
|
98
|
-
if (err instanceof HTTPException) {
|
|
99
|
-
switch (err.status) {
|
|
100
|
-
case 400:
|
|
101
|
-
return 'BAD_REQUEST';
|
|
102
|
-
case 401:
|
|
103
|
-
return 'UNAUTHORIZED';
|
|
104
|
-
case 403:
|
|
105
|
-
return 'FORBIDDEN';
|
|
106
|
-
case 404:
|
|
107
|
-
return 'NOT_FOUND';
|
|
108
|
-
case 405:
|
|
109
|
-
return 'METHOD_NOT_ALLOWED';
|
|
110
|
-
case 409:
|
|
111
|
-
return 'CONFLICT';
|
|
112
|
-
case 422:
|
|
113
|
-
return 'UNPROCESSABLE_ENTITY';
|
|
114
|
-
default:
|
|
115
|
-
return 'INTERNAL_SERVER_ERROR';
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
if (err && typeof err === 'object' && 'code' in err) {
|
|
119
|
-
return err.code;
|
|
120
|
-
}
|
|
121
|
-
return 'INTERNAL_SERVER_ERROR';
|
|
122
|
-
}
|
|
123
|
-
function getErrorMessage(err) {
|
|
124
|
-
if (err instanceof Error)
|
|
125
|
-
return err.message;
|
|
126
|
-
if (typeof err === 'string')
|
|
127
|
-
return err;
|
|
128
|
-
return 'An unexpected error occurred';
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Error handling middleware
|
|
132
|
-
* Catches errors and returns consistent JSON responses
|
|
133
|
-
*/
|
|
134
|
-
export const errorHandler = async (c, next) => {
|
|
135
|
-
try {
|
|
136
|
-
await next();
|
|
137
|
-
}
|
|
138
|
-
catch (err) {
|
|
139
|
-
const status = getStatusCode(err);
|
|
140
|
-
const code = getErrorCode(err);
|
|
141
|
-
const message = getErrorMessage(err);
|
|
142
|
-
const body = {
|
|
143
|
-
error: {
|
|
144
|
-
code,
|
|
145
|
-
message,
|
|
146
|
-
},
|
|
147
|
-
};
|
|
148
|
-
// Add validation details for 422 errors
|
|
149
|
-
if (err instanceof UnprocessableEntityError && err.errors) {
|
|
150
|
-
body.error.details = err.errors;
|
|
151
|
-
}
|
|
152
|
-
// Add request ID if present
|
|
153
|
-
const requestId = c.req.header('x-request-id');
|
|
154
|
-
if (requestId) {
|
|
155
|
-
body.error.requestId = requestId;
|
|
156
|
-
}
|
|
157
|
-
// Add stack trace in development
|
|
158
|
-
if (process.env.NODE_ENV === 'development' && err instanceof Error) {
|
|
159
|
-
body.error.stack = err.stack;
|
|
160
|
-
}
|
|
161
|
-
return c.json(body, status);
|
|
162
|
-
}
|
|
163
|
-
};
|
|
164
|
-
/**
|
|
165
|
-
* 404 handler for routes that don't match
|
|
166
|
-
*/
|
|
167
|
-
export function notFoundHandler(c) {
|
|
168
|
-
return c.json({
|
|
169
|
-
error: {
|
|
170
|
-
code: 'NOT_FOUND',
|
|
171
|
-
message: `Route not found: ${c.req.method} ${c.req.path}`,
|
|
172
|
-
},
|
|
173
|
-
}, 404);
|
|
174
|
-
}
|
|
175
|
-
export default errorHandler;
|
|
176
|
-
//# sourceMappingURL=error-handling.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-handling.js","sourceRoot":"","sources":["../../../api/middleware/error-handling.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Request ID Middleware
|
|
3
|
-
*
|
|
4
|
-
* Handles X-Request-ID header tracking:
|
|
5
|
-
* - Echoes the X-Request-ID header if provided in the request
|
|
6
|
-
* - Generates a new UUID if no X-Request-ID is provided
|
|
7
|
-
*
|
|
8
|
-
* This enables distributed tracing and request correlation across services.
|
|
9
|
-
*/
|
|
10
|
-
export const requestIdMiddleware = async (c, next) => {
|
|
11
|
-
// Get the request ID from header or generate a new one
|
|
12
|
-
const requestId = c.req.header('X-Request-ID') || crypto.randomUUID();
|
|
13
|
-
// Store in context for potential logging/tracing use
|
|
14
|
-
c.set('requestId', requestId);
|
|
15
|
-
// Process the request
|
|
16
|
-
await next();
|
|
17
|
-
// Set the X-Request-ID header on the response
|
|
18
|
-
c.header('X-Request-ID', requestId);
|
|
19
|
-
};
|
|
20
|
-
export default requestIdMiddleware;
|
|
21
|
-
//# sourceMappingURL=request-id.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-id.js","sourceRoot":"","sources":["../../../api/middleware/request-id.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;IACtE,uDAAuD;IACvD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAA;IAErE,qDAAqD;IACrD,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAE7B,sBAAsB;IACtB,MAAM,IAAI,EAAE,CAAA;IAEZ,8CAA8C;IAC9C,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;AACrC,CAAC,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|