A vertical slice to bootstrap the product loop on the canonical zopu-code repo. Primitives (packages/primitives, all tested + lint/type clean): - GitRemoteRuntime: Gitea REST client (createIssue, createBranch, createPullRequest, listIssues, getIssue) as an Effect context service with a fetch-backed transport. Live-verified against puter/zopu-code. - GitLocalRuntime: clone, addWorktree, commit, push, currentBranch, setRemoteUrl over a pluggable Shell (host subprocess now, AgentOS VM exec later). Tested against real temp git repos. - agent-os: Codex support via @agentos-software/codex-cli — codexSoftware bundle (codex+git), makeCodexAgentOsConfig(), codexSessionEnv() for the OpenAI base URL/key. Env: - GITEA_URL/GITEA_TOKEN wired into convex.ts and convex.config.ts. - .env.example documents the self-hosted git section. Agents (packages/agents): - zopu-dev: development agent that creates issues on the canonical repo and starts autonomous work runs. git-remote tools (create/list/branch/PR) wired to GitRemoteRuntime; start_workflow tool enqueues a work run. - flue run zopu-dev verified live (lists/creates issues on real Gitea). Backend (packages/backend): - workflows.startIssueWork mutation: fetches a Gitea issue server-side and admits a queued work run. The Codex VM spawn body is the next step.
39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
# Shared application endpoints
|
|
CONVEX_DEPLOYMENT=dev:example-deployment
|
|
CONVEX_URL=https://example.convex.cloud
|
|
CONVEX_SITE_URL=https://example.convex.site
|
|
SITE_URL=http://localhost:5173
|
|
NATIVE_APP_URL=code://
|
|
|
|
# Browser and native public endpoints
|
|
VITE_CONVEX_URL=https://example.convex.cloud
|
|
VITE_CONVEX_SITE_URL=https://example.convex.site
|
|
# For phone testing, replace localhost with this machine's Tailscale IPv4 address.
|
|
VITE_FLUE_URL=http://localhost:3583
|
|
EXPO_PUBLIC_CONVEX_URL=https://example.convex.cloud
|
|
EXPO_PUBLIC_CONVEX_SITE_URL=https://example.convex.site
|
|
|
|
# Daemon identity and control plane
|
|
DAEMON_ID=local-macbook
|
|
DAEMON_NAME=Local MacBook
|
|
DAEMON_VERSION=0.0.0
|
|
DAEMON_HEARTBEAT_MS=15000
|
|
DAEMON_COMMAND_LEASE_MS=60000
|
|
# RIVET_ENDPOINT=http://localhost:6420
|
|
|
|
# Flue persistence adapter
|
|
FLUE_DB_TOKEN=replace-with-a-long-random-token
|
|
|
|
# Agent model provider
|
|
AGENT_MODEL_PROVIDER=cheaptricks
|
|
AGENT_MODEL_NAME=glm-5.2
|
|
AGENT_MODEL_API=openai-completions
|
|
AGENT_MODEL_BASE_URL=https://ai.example.com/v1
|
|
AGENT_MODEL_API_KEY=replace-with-provider-api-key
|
|
AGENT_MODEL_CONTEXT_WINDOW=262000
|
|
AGENT_MODEL_MAX_TOKENS=131072
|
|
|
|
# Self-hosted git (Gitea) — canonical repository host and API token
|
|
GITEA_URL=https://git.openputer.com
|
|
GITEA_TOKEN=replace-with-a-gitea-personal-access-token
|