wrangler.jsonc
Rama main · réplica de lectura del repositorio original.
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "chickpea",
"workers_dev": true,
"preview_urls": false,
"assets": {
"binding": "ASSETS",
"html_handling": "none",
"not_found_handling": "none"
},
"compatibility_date": "2026-08-20",
"compatibility_flags": [
"nodejs_compat",
"global_fetch_strictly_public"
],
// Without this, a fresh install captures NO logs at all — the sanitized
// Slack error is then the only trace of a provider failure (learned the
// hard way: the raw error behind a keyless-anthropic 401 was unrecoverable).
"observability": {
"enabled": true,
// Flue spans are registered explicitly in the Cloudflare-only entry with
// `content: false`; platform tracing exports operational metadata only.
"traces": {
"enabled": true
}
},
"ai": {
"binding": "AI"
},
"version_metadata": {
"binding": "CF_VERSION_METADATA"
},
"triggers": {
"crons": [
"* * * * *"
]
},
// App-owned state Durable Object (src/cloudflare.ts): one singleton instance
// hosts config agents/assignments, thread snapshots, claims, the thread
// registry, and operator settings on the Cloudflare target. The optional
// Sandbox binding/container is added only by the explicit Sandbox build
// profile; its v3 migration remains here so the same Worker can add or
// remove that deployment capability without changing Durable Object history.
"durable_objects": {
"bindings": [
{
"name": "TAG_STATE",
"class_name": "TagStateStore"
},
{
"name": "SLACK_GATEWAY_SESSION",
"class_name": "SlackGatewaySession"
},
{
"name": "SLACK_THREAD_RUNNER",
"class_name": "SlackThreadRunner"
}
]
},
"d1_databases": [
{
"binding": "AUTH_DB",
"database_name": "chickpea-auth-db",
"database_id": "",
"migrations_dir": "migrations/better-auth"
}
],
// v6 is the deliberate prelaunch Flue 2 reset. It permanently deletes only
// the four beta Flue namespaces and creates fresh v2 agents. TagStateStore,
// Sandbox, ContainerProxy, and all other app-owned state are preserved.
"migrations": [
{
"tag": "v1",
"new_sqlite_classes": [
"FlueRegistry",
"FlueSlackThreadAgent"
]
},
{
"tag": "v2",
"new_sqlite_classes": [
"TagStateStore"
]
},
{
"tag": "v3",
"new_sqlite_classes": [
"Sandbox"
]
},
{
"tag": "v4",
"new_sqlite_classes": [
"FlueRoutineWorkflow"
]
},
{
"tag": "v5",
"new_sqlite_classes": [
"FlueRoutineIntentAgent"
]
},
{
"tag": "v6",
"new_sqlite_classes": [
"FlueChickpeaSlackV2Agent",
"FlueChickpeaRoutineIntentV2Agent",
"FlueChickpeaRoutineExecutionV2Agent"
],
"deleted_classes": [
"FlueRegistry",
"FlueSlackThreadAgent",
"FlueRoutineIntentAgent",
"FlueRoutineWorkflow"
]
},
{
// Immutable history for Workers that ran the retired password guard.
"tag": "v7",
"new_sqlite_classes": [
"AuthGuard"
]
},
{
// Slack-only Better Auth moved its authority to AUTH_DB; retire only
// the obsolete password/throttle Durable Object state.
"tag": "v8",
"deleted_classes": [
"AuthGuard"
]
},
{
"tag": "v9",
"new_sqlite_classes": [
"SlackGatewaySession"
]
},
{
// Coding workers (src/agents/coding-worker.ts): one instance per
// coding workspace and binding, driven by `workspace_task`.
"tag": "v10",
"new_sqlite_classes": [
"FlueChickpeaCodingWorkerV1Agent"
]
},
{
// Per-thread Slack turn runners (src/slack/thread-runner.ts): one
// instance per Slack thread key. Ships inactive; nothing addresses the
// class until a later release moves turn execution onto it. Cloudflare
// cannot roll a Worker back across this class lifecycle change.
"tag": "v11",
"new_sqlite_classes": [
"SlackThreadRunner"
]
},
{
// Test runs (src/agents/test-turn.ts): one instance per run, erased
// when it settles. Chickpea Cloud splices its own cloud-v1 after
// v11, so a hosted build applies this after cloud-v1.
"tag": "v12",
"new_sqlite_classes": [
"FlueChickpeaTestTurnV1Agent"
]
}
]
}