Files
bernatsamperaandClaude Fable 5 730b02197a Rework the agent surface: commands, saved scripts, handshake instructions, dashboard; drop flows and chat
State changes (from the maat-agent spikes):
- run_script runs saved scripts by path with args and params (PARAM_<NAME>
  env vars), plus ad-hoc code; results start with a status header and a
  missing-package hint points at connection.yaml deps
- commands/ folders in connections and modules register as MCP prompts
  (<owner>__<command>), surfaced as slash commands; .md and .py formats
- instructions.md is pushed at connect through the MCP handshake and
  declared as ledger pipe G0: one controllable file is what the agent
  receives at start
- read_context/write_context renamed to read_file/write_file; new list_dir
  and grep tools
- stateless HTTP: server restarts no longer strand attached clients

Removed:
- flows (never met a real use case; modules plus commands cover process
  needs; design.md records the return condition)
- gcontext chat (redundant once the handshake delivers instructions); the
  controlled claude invocation is documented in the README instead
- docs/templates (duplicated README sections)
- the ledger's dual chat/mcp mode, collapsed to one

Structure:
- server.py is only the MCP surface; concerns split into fs.py, exec.py,
  secrets.py, state.py, ledger.py, commands.py; agent-facing tool text
  lives in prompts/tools/*.md
- read-only web dashboard served at the root: overview, ledger, files,
  live activity feed (web/ Vite app, bundled into the wheel)
- secrets.env is now unreadable through the agent (read guard)

39 tests. Version 0.4.0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-01 12:08:51 +02:00

19 lines
512 B
JavaScript

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
// Dev server proxies API calls to a running `gcontext up` server.
// Point elsewhere with VITE_API=http://127.0.0.1:4299 npm run dev
const API = process.env.VITE_API || "http://127.0.0.1:4242";
export default defineConfig({
plugins: [react()],
server: {
port: 5179,
strictPort: true,
proxy: {
"/api": { target: API, changeOrigin: true },
"/status": { target: API, changeOrigin: true },
},
},
});