Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
113 lines (113 loc) · 3.69 KB

File metadata and controls

113 lines (113 loc) · 3.69 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "open-seo",
"main": "src/server.ts",
"compatibility_date": "2025-09-02",
"compatibility_flags": ["nodejs_compat", "global_fetch_strictly_public"],
"observability": {
"enabled": true,
// Spans are billed as observability events (free tier 200k/day); add a
// traces head_sampling_rate below 1 if span volume becomes a cost concern.
"traces": {
"enabled": true,
},
},
// Smart Placement relocates only the `fetch` handler (cron + Workflow runs
// stay at the edge) toward external subrequests — Postgres via Hyperdrive,
// SEO APIs — not D1/KV/R2 bindings, so it's a DB no-op on the D1 default.
// Must live here: a dashboard-only toggle is wiped by `wrangler deploy`.
"placement": {
"mode": "smart",
},
"workflows": [
{
"name": "site-audit-workflow",
"binding": "SITE_AUDIT_WORKFLOW",
"class_name": "SiteAuditWorkflow",
},
{
"name": "rank-check-workflow",
"binding": "RANK_CHECK_WORKFLOW",
"class_name": "RankCheckWorkflow",
},
],
// Durable Object backing the onboarding strategy chat (Agents SDK
// AIChatAgent). One instance per project; messages persist in the DO's
// SQLite. SQLite-backed classes must be declared in `migrations` below.
"durable_objects": {
"bindings": [
{
"name": "ONBOARDING_CHAT",
"class_name": "OnboardingChatAgent",
},
// SAM in-app agent. One instance per chat session; messages persist in the
// DO's SQLite. SQLite-backed classes must be declared in `migrations`.
{
"name": "SAM_CHAT",
"class_name": "SamChatAgent",
},
],
},
"migrations": [
{
"tag": "v1",
"new_sqlite_classes": ["OnboardingChatAgent"],
},
{
"tag": "v2",
"new_sqlite_classes": ["SamChatAgent"],
},
],
"triggers": {
"crons": ["*/15 * * * *"],
},
// This config serves local dev and Docker self-host only. All Cloudflare
// deployments — previews, prod, self-host — go through Alchemy
// (alchemy.run.ts), which provisions real resources per stage and never
// reads these ids.
//
// The ids below are NOT dead config: miniflare derives its on-disk storage
// filenames (.wrangler/state, a persistent volume in Docker self-hosts)
// from an HMAC of `id`/`database_id`. Changing them orphans every existing
// local and self-hosted database. Leave them as-is.
"kv_namespaces": [
{
"binding": "KV",
"id": "27a30f80d9de4de5899f2f3f0c60bc65",
},
{
"binding": "OAUTH_KV",
"id": "b53f11c8ea664d959d5f0a936b902474",
},
],
"d1_databases": [
{
"binding": "DB",
"database_name": "open-seo",
"database_id": "0726a931-c511-4c03-a591-fc4771d457cf",
"migrations_dir": "drizzle",
},
],
// Postgres scale path (opt-in; D1 is the default). Hyperdrive is the ONLY way
// the app connects to Postgres — there is no direct-connection fallback. For
// local dev, `localConnectionString` is the throwaway Docker Postgres from
// docs/LOCAL_POSTGRES.md, and nothing connects to it unless
// DATABASE_PROVIDER=postgres is set in .env.local.
//
// Running raw `wrangler deploy` against another account? DELETE this block —
// the id lives in OpenSEO's account and the deploy fails without access to
// it. (Alchemy deploys and the Docker image never read it.)
//"hyperdrive": [
// {
// "binding": "HYPERDRIVE",
// "id": "9d64ccfb559f44449ce52a143912f898",
// "localConnectionString": "postgres://openseo:openseo@localhost:5433/openseo",
// },
//],
"r2_buckets": [
{
"bucket_name": "open-seo",
"binding": "R2",
},
],
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.