Commit graph

35 commits

Author SHA1 Message Date
dullfig
2d05fd3656 Add Nextra SaaS platform architecture document
Comprehensive design doc covering:
- System overview and architecture diagrams
- Tier model (Free/Paid/Pro/Enterprise)
- Component architecture (Next.js, FastAPI, Pump containers)
- Database schema (PostgreSQL)
- Trigger system (webhooks, schedules, manual)
- Security model (tenant isolation, WASM sandboxing, memory safety)
- Canvas ↔ YAML synchronization
- Marketplace design
- Monitoring and observability
- Scaling considerations
- Implementation phases

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 21:40:33 -08:00
dullfig
515c738abb Add wiki documentation for xml-pipeline.org
Comprehensive documentation set for XWiki:
- Home, Installation, Quick Start guides
- Writing Handlers and LLM Router guides
- Architecture docs (Overview, Message Pump, Thread Registry, Shared Backend)
- Reference docs (Configuration, Handler Contract, CLI)
- Hello World tutorial
- Why XML rationale
- Pandoc conversion scripts (bash + PowerShell)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 20:40:47 -08:00
dullfig
c01428260c Archive obsolete docs and misc cleanup
- Move lsp-integration.md and secure-console-v3.md to docs/archive-obsolete/
  (these features are now in the Nextra SaaS product)
- Update CLAUDE.md with current project state
- Simplify run_organism.py
- Fix test fixtures for shared backend compatibility
- Minor handler and llm_api cleanups

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 20:20:10 -08:00
dullfig
e653d63bc1 Rename agentserver to xml_pipeline, add console example
OSS restructuring for open-core model:
- Rename package from agentserver/ to xml_pipeline/
- Update all imports (44 Python files, 31 docs/configs)
- Update pyproject.toml for OSS distribution (v0.3.0)
- Move prompt_toolkit from core to optional [console] extra
- Remove auth/server/lsp from core optional deps (-> Nextra)

New console example in examples/console/:
- Self-contained demo with handlers and config
- Uses prompt_toolkit (optional, falls back to input())
- No password auth, no TUI, no LSP — just the basics
- Shows how to use xml-pipeline as a library

Import changes:
- from agentserver.* -> from xml_pipeline.*
- CLI entry points updated: xml_pipeline.cli:main

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 21:41:19 -08:00
dullfig
986db2e79b Implement native tools and infrastructure
Tools (18 total):
- calculate: Safe AST-based math expression evaluator
- fetch: Async HTTP with SSRF protection
- files: Sandboxed read/write/list/delete
- shell: Command execution with blocklist
- search: Web search (SerpAPI, Google, Bing)
- keyvalue: In-memory key-value store
- librarian: exist-db XML database integration
- convert: XML↔JSON conversion + XPath extraction

Infrastructure:
- CLI with run/init/check/version commands
- Config loader for organism.yaml
- Feature detection for optional dependencies
- Optional extras in pyproject.toml

LLM:
- Fixed llm_connection.py to wrap working router

WASM:
- Documented WASM listener interface
- Stub implementation for future work

MCP:
- Reddit sentiment MCP server example

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 20:25:48 -08:00
dullfig
7950be66f3 Add native tools specification
Core tools:
- calculate (simpleeval) - math expressions in Python syntax
- fetch_url - HTTP requests with security controls
- read_file / write_file / list_dir - sandboxed file ops
- run_command - sandboxed shell execution
- web_search - web search integration
- key_value_store - persistent agent state
- send_email / webhook - notifications

Librarian tools (exist-db):
- librarian_store - store XML documents
- librarian_get - retrieve by path
- librarian_query - XQuery execution
- librarian_search - full-text search

Includes permission model and implementation checklist.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 22:37:40 -08:00
dullfig
398fd5ac23 Add Lua listeners proposal and message log stream
Lua proposal covers:
- Sandboxed Lua handlers for SaaS custom logic
- XML <-> Lua table bridging with XSD validation
- Security sandbox (restricted stdlib, resource limits)
- Schema DSL alternative to raw XSD
- Hot reload mechanism

API spec updated with:
- Dedicated /ws/messages endpoint for message log streaming
- Filter by agent/thread/payload type
- Example for reconstructing agent buffers client-side

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 22:30:45 -08:00
dullfig
a29c6f8321 Add security considerations document
Covers authentication (TOTP, WebAuthn, mTLS, OAuth), authorization
(RBAC, resource permissions), transport security, secrets management,
audit logging, prompt injection defense, and rate limiting.

Includes open questions and implementation checklist.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 22:52:55 -08:00
dullfig
5ccffece60 Add agentserver API specification
Defines the GUI-agnostic API for monitoring and controlling the organism:
- REST endpoints for queries and control
- WebSocket for real-time push events
- Data models for agents, messages, threads
- Example usage for 3D office GUI

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 22:47:57 -08:00
dullfig
d7825335eb fixing docs 2026-01-11 13:50:05 -08:00
dullfig
e23fa6a2a9 Add platform architecture design doc
Documents the trust model for context and prompt management:
- Platform as trusted orchestration layer
- Context buffer: pure message history, keyed by UUID, auto-GC
- Prompt registry: immutable, invisible to agents
- LLM call assembly: platform controls, agents request
- Handler sandbox: what agents can/cannot do

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 13:49:42 -08:00
dullfig
f195835bea Update secure console design: simplify detached mode
When detached, console changes prompt from '>' to '#' and rejects
@messages while still accepting /commands. Simpler than the ring
buffer approach - operator can still check status and re-attach.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 17:44:57 -08:00
dullfig
fc8b6608cf Add secure console design doc (v3.0)
Design for keyboard-only privileged interface:
- OOB port eliminated — privileged ops via keyboard only
- Argon2id password protection for destructive commands
- Attach/detach model with idle timeout
- Ring buffer for messages while detached

Key security properties:
- No network attack surface for privileged operations
- Password required for /restart, /kill
- Handler returns None on timeout → organism continues headless
- /attach + password to reconnect

Commands: /status /listeners /threads /buffer /config /restart
          /kill /pause /resume /attach /detach /timeout /quit

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 17:40:05 -08:00
dullfig
a5e2ab22da Add thread registry, LLM router, console handler, and docs updates
Thread Registry:
- Root thread initialization at boot
- Thread chain tracking for message flow
- register_thread() for external message UUIDs

LLM Router:
- Multi-backend support with failover strategy
- Token bucket rate limiting per backend
- Async completion API with retries

Console Handler:
- Message-driven REPL (not separate async loop)
- ConsolePrompt/ConsoleInput payloads
- Handler returns None to disconnect

Boot System:
- System primitives module
- Boot message injected at startup
- Initializes root thread context

Documentation:
- Updated v2.1 docs for new architecture
- LLM router documentation
- Gap analysis cross-check

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 16:53:38 -08:00
dullfig
ab207d8f0b fixing docs 2026-01-08 12:30:58 -08:00
dullfig
e314bb01e8 fixing docs 2026-01-07 20:58:31 -08:00
dullfig
3105648fd1 fixing docs 2026-01-07 13:12:08 -08:00
dullfig
6696c06e4f fixing docs 2026-01-07 12:31:47 -08:00
dullfig
86ad3c7eb2 fixing docs 2026-01-06 19:28:25 -08:00
dullfig
2e8ed88e42 fixing docs 2026-01-06 19:24:41 -08:00
dullfig
ed66b16821 fixing docs 2026-01-04 23:33:46 -08:00
dullfig
67c77d568e added rant 2026-01-04 22:22:17 -08:00
dullfig
a1ad8b843f added rant 2026-01-03 17:57:07 -08:00
dullfig
9a3e7df851 major realignment of docs, v2.0 now 2026-01-03 16:37:42 -08:00
dullfig
ab062bca18 re-writing docs and code 2026-01-03 14:48:57 -08:00
dullfig
9e75cfffd6 added message pump overview and yaml configuration 2026-01-02 16:02:48 -08:00
dullfig
580f32c035 added message pump overview 2026-01-02 15:46:33 -08:00
dullfig
8723a121de added self-registration and autonomous grammar generation to docs 2026-01-02 15:35:00 -08:00
dullfig
3f4a6990ed added self-registration and autonomous grammar generation to docs 2026-01-02 15:20:24 -08:00
dullfig
f9304f6794 added self-registration and autonomous grammar generation to docs 2026-01-02 15:05:26 -08:00
dullfig
3ebf72bfb5 Merge remote-tracking branch 'origin/main' 2025-12-30 23:35:46 -08:00
dullfig
ed4c1c88ea major changes to base 2025-12-30 23:35:31 -08:00
dan
f3b90963b8 Replace XMLListener stub with real foundation
- Minimal, universal base for all capabilities
- Required listens_to class attribute
- Async handle() with convo_id preservation rule
- make_response() helper for thread continuity
- Explicit name, config, per-instance logger
- Clear documentation and NotImplementedError guard

This is the true substrate the entire organism will build on.
2025-12-29 12:16:03 -08:00
dullfig
a34105761b added position paper 2025-12-28 20:43:18 -08:00
dullfig
f3e9faf6b8 added position paper 2025-12-28 20:22:38 -08:00