* Structured outputs for dialectic
* cleanup
* rename json_schema_to_pydantic to clarify it's not a general schema converter
* clean up schema DoS guards
* simplification and cleanup of schema conversion
* chore: ruff and pyproject toml
* chore: basedpyright cleanup in test
* fix: some needed unrelated test failures
* test(schema_conversion-and-anthropic-backend): expand test coverage
include table tests
* fix(llm): support combined tool calling and structured output across backends
- OpenAI: parse() 500s on non-strict function tools; route tool-carrying
structured requests through create() with an explicit json_schema
response_format (mirrors the streaming path)
- Anthropic: skip the '{' JSON prefill when tools are present so tool_use
blocks stay reachable; make the schema instruction conditional and rely
on parse + repair
- Gemini: native response_schema + function calling is rejected before
Gemini 3; with tools present, inject a schema instruction into the final
turn instead and rely on parse + repair
- All backends: tool-call turns carry no consumable content, so skip
structured-output parsing on them
Extracted from the dialectic structured-output branch (DEV-1652) so the
transport layer can land independently.
DEV-2035
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* test(live_llm): exercise combined tools + structured output per provider
Two-turn live flow per backend: a forced tool-call turn (structured
parsing must be skipped) followed by a replay turn that must return a
schema-conforming answer with tools still attached. Asserts the
provider-specific request shaping: no parse() for OpenAI (500s on
non-strict tools), no '{' prefill for Anthropic, no native
response_schema for Gemini.
Verified against live OpenAI (gpt-4.1, gpt-5, gpt-5.4, gpt-5.4-mini)
and Gemini (gemini-2.5-flash).
DEV-2035
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* test(unified): dialectic chat with response_format schema under tool use
Adds response_format pass-through to the unified runner's chat query and
a test case that forces the dialectic tool loop (reasoning off + global
enumeration question) while requiring a schema-conforming JSON answer —
end-to-end coverage of the combined tools + structured output transport
path on whichever provider each level is configured with.
Verified locally against a full harness run (json_match assertions pass;
the llm_judge assertion additionally runs in CI where the Anthropic key
is available).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix: some needed unrelated test failures
* ci: add label-triggered live LLM test workflow
Adding the run-live-llm label to a PR (or workflow_dispatch) runs
tests/live_llm/ against real provider APIs — the only place the
--live-llm suite runs in CI. Reuses the unified-tests environment and
its Secrets Manager staging-dotenv resolution for provider keys; runs
on ubuntu-latest (no Fly runner, no Docker — the suite only touches the
LLM backends). Pins LIVE_LLM_ANTHROPIC_45_PLUS_MODELS=claude-sonnet-4-5
since the Anthropic family has no default models and would otherwise
silently collect empty.
Opt-in by design: live model behavior is variable, so this is a signal,
not a required check.
DEV-2035
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* ci: run live LLM tests on main pushes touching the transport
Mirrors unified-tests' push trigger, scoped to paths that can affect
the live suite (src/llm/, config, the tests, deps, and the workflow
itself) so provider API calls aren't spent on unrelated changes.
DEV-2035
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* ci: disable auth in live LLM test environment
The staging dotenv sets AUTH_USE_AUTH=true without a usable JWT secret,
and src/config.py validates the pair at import time — the same reason
unified-tests overrides it. This suite never runs the API server.
DEV-2035
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* test(live_llm): fix gpt-5.4 reasoning_effort and gemini replay-turn flake
- test_live_openai: gpt-5.4 dropped 'minimal' from the reasoning_effort
vocabulary, so the gpt5 caching test 400'd — and the OpenAI backend's
BadRequestError terminal swallowed it into an empty CompletionResult.
Pick the effort per model generation.
- test_live_tools_structured_output: use tool_choice='auto' on the
replay turn, matching the production dialectic loop (which never
forces 'none') — NONE mode is what provoked gemini-2.5-flash's empty
candidates. Drop the temperature pin so retries actually resample,
and treat a repeat tool call as a retryable attempt.
Verified live: full suite green, gemini 4/4 consecutive passes.
DEV-2035
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* ci: fail live LLM run when no staging secret was loaded
If the latest-tag fetch fails and no second tag exists, the fallback
step is skipped rather than failed, and the job would proceed without
provider keys — every test then skips via require_provider_key and the
run goes green. Guard on both fetch outcomes so that path fails loudly.
DEV-2035
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(live-llm-tests-GHA): remove extra comments
* feat(structured-output): enable non-recursive schema references
* docs(structured-outputs): clean up new doc
* test(structured-output): fix caching refs memory leak, add tests
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* feat: adding honcho-cli package
* feat: adding more support for command-level flags, also including workarounds for getting raw SDK info
* feat: adding peer config
* feat: adding setup commands
* chore: setting up package dependencies for cli
* feat: promote init/doctor to top-level + polish wizard
* feat: make init --yes fall back to existing config
* chore: updating documentation
* chore: updating tagline
* feat: structurally updating recomended settings for CLI
* fix: style
* fix: removing redundant describe method
* fix: delete key generation commands and fixing session ID
* fix: removing defaults and changing config write path.
* chore: pagnating conclusions
* chore: require workspace
* fix: polish command surfaces — scoping, validation, perf, consistency
* chore: removing session message
* fix: CLI output shape, destructive-confirm previews, skip needless round-trips
* chore: CLI polish — peer inspect config, drop dead helper, doc/help consistency
* chore: update readme
* chore: updating tests
* chore: doc updates
* fix: config command
* chore: unused code
* fix: doctor command
* fix: removing quiet tag and fixing session key ordering
* fix: config commands and session id command
* fix: removing message_count
* fix: branding circular dependency
* fix: refactor lazy imports to use common.py correctly.
* fix: removing all lazy imports
* chore: cr fixes
* fix: config, env, flag setup
* chore: updating skill
* feat: adding workspace, session, and message create
* fix: init now supports local honcho
* chore: cr
* feat(cli): CLI surface polish — reasoning flag, peer-scoped messages, help sync
Add --reasoning/-r to peer chat (minimal..max), -p peer filter to
message list with newest-first ordering, and a curated welcome panel
with getting-started/memory/commands sections.
Sync the welcome panel and group help strings with the actual
registered commands — drop phantom 'session clone', add the 4 missing
peer commands and 7 missing session commands, fix conclusion/message/
workspace group docstrings that claimed commands that don't exist.
* feat(cli): themed, unified help system with pattern/example
Replace the hand-rolled welcome with a layered system:
- Theme typer.rich_utils (dim borders, brand color) so every --help
inherits the voice.
- HonchoTyperGroup subclass renders a curated 3-panel welcome
(getting started / memory / commands) with recipes Typer can't
auto-generate.
- Unify the front door: bare 'honcho', 'honcho --help', and
'honcho help' all render the same welcome via one code path;
sub-groups and leaf commands still get Typer's themed renderer.
- Replace Click's 'Usage: …' line with pattern/example rows at every
sub-group and leaf command, so the help voice stays consistent from
top to leaves.
* refactor(cli): address review — typed exceptions, chmod 600, tighter redaction, class-based help, tests
- Replace module-level monkey-patch of TyperGroup/TyperCommand.get_usage
with HonchoTyperGroup applied via cls= on every sub-Typer. Lives in
a new _help.py module to avoid circular imports. No longer leaks
behavior changes into other Typer users in the same process.
- _test_connection dispatches on the SDK's typed exceptions
(AuthenticationError, ConnectionError, TimeoutError, APIError)
instead of substring-matching error messages.
- Config.save() now chmods ~/.honcho/config.json to 0o600 after write
so the plaintext API key isn't world-readable on multi-user hosts.
- Tighten api_key redaction to '***<last4>' (was 'header...last4'),
matching setup._redact for consistency. Short keys fully masked.
- Add test_validation.py covering safe IDs, unsafe chars, path
traversal, and empty input. Update test_config.py redaction cases
and add 0o600 permission assertion. Fix stale patch paths in
test_commands.py that pointed at honcho_cli.main instead of the
command modules where get_client is actually imported.
* feat(cli): add options panel to welcome menu
Append a fourth panel listing the global flags (-w/-p/-s, --json,
--version, --help) with their env-var counterparts. Discoverable
from bare 'honcho' without needing to hunt for --help.
* chore(cli): drop --version from welcome options panel
* feat(cli): add pixel-honcho icon to banner
Prepend a 13-char ASCII rendering of honcho-pixel.svg to the HONCHO
wordmark. Uses Unicode half-blocks to pack 12 pixel rows into 6 text
rows, faithfully preserving the SVG outline (two eye dots, mouth slit,
tapering foot). Appears in bare 'honcho', 'honcho --help', 'honcho
--version', and 'honcho init'.
* fix: polish Honcho CLI wolcome panel and error messages
* fix: honcho workspace inspect speed
* chore: minor fix to session pagination
* fix: removing NDJSON output
* chore: consolidating honcho CLI's dula argv grammar onto Pattern A (command-first)
* chore: clean up imports
* fix: four `-s` consistency fixes applied
* chore: minor changes to memory rows
* fix: changing package name to honcho-cli
* fix: removing pixel face
---------
Co-authored-by: Erosika <eri@plasticlabs.ai>
* feat: add optional JWT and webhook secrets to honcho instance creation
* chore: ignore spurious warnings
* feat: add response format if using gpt-5 model family
* feat: add response models to all apis except anthropic
* fix: raise NotImplementedError for response models in AsyncAnthropic client
* chore: address review
* [WIP] representation structure + deriver cleanup
* chore: add tests, cleanup
* feat: [WIP: semi-working] representation object
* fix: alignment
* fix: make observations hashable for dedup
* fix: datetime formatting, observation counting
* fix: switch to int for message id, clean up representation
* feat: remove need for metadata working rep
* chore: cleanup
* fix: use tenacity instead of custom fns
* feat: add representation and card to context if desired
* feat: add semantically relevant observations
* fix: pass all params to streaming, nonblocking streaming
* feat: consolidate document saving, make working representation fetching much smarter
* chore: add 100% test coverage of representation util
* feat: basic dream infra
* feat: dream queue item first pass
* chore: fixes & cleanup from coderabbit
* fix: dreams scheduled when new document count reaches a certain threshold
* feat: wip: timed dreams (not working)
* fix: test
* fix: remove useless pyright ignore
* fix: executing dreams
* feat: dreaming
* feat: [WIP] longmemeval bench
* feat: add USE_PEER_CARD setting, fix longmem test driver
* feat: get full working rep for dialectic in one swoop -- fix representation_from_documents to use the proper timestamp!
* fix: timestamps for real, handle assistant qs in longmem
* fix: remove old client, add batching to longmem
* perf: remove duplicate detection, will move to background task
* feat: track perf metrics on evals
* feat: adjust deriver prompt to use peer_id, add question date to question, clean up deriver
* fix: label metrics by task for better perf trace
* chore: code review
* feat: add efficiency score to longmem bench
* chore: tuning and cleaning up eval
* chore: bring in the big prompts
* feat: add support for vllm client
* feat: perf: bundle db calls in deriver and dialectic, increase max conns in docker db
* feat: add merge-sessions flag to longmemeval, add SUMMARY_ENABLED flag
* fix: COLLECT_METRICS default false
* chore: display start/end message ids, don't include in metrics
* fix: break large messages apart for eval
* fix: only get/create collection when needed
* feat: properly attribute documents with message id ranges and add session name column to documents
* fix: revert move of get_or_create_collection (need for fkey)
* fix: always get collection with peer name even if it's none
* chore: coderabbit
* fix: give peer card its own config, expand document schema, refactor get_context to be parallel, various cleanup chores and bugfixes
* chore: refactor: reify observer/observed system across entire codebase, including db migration
* refactor: cleanup code organization, make singletons where desired
* refactor: replace embeddings store with representation manager
* chore: coderabbit cleanup
* chore: update migration to non-null session param in documents, general review and cleanup
* chore: merge branch 'main' into ben/deriver-tidy
* chore: review fixes
* ready to test deriver
* prompts ready for testing
* compare entire list, don't loop through facts one by one
* parse xml, batch process ai query docs
* timing works
* session id is writing to csv now
* ignore timing logs
* infinite backrooms-inpsired prompts
* yousim/ib inspired prompts v0
* accept incoming changes on agent.py
* dialectic to sonnet for now
* remove timing, use py-spy
* cleanup from timing removal
* remove extra timing stuff
* Route for User LeveL Metamessages
* functional state
* chore: Clean up artifacts
* fix(deriver) update database calls for new schema and payload
* chore(docs) Update Honcho Version
---------
Co-authored-by: Vineeth Voruganti <13438633+VVoruganti@users.noreply.github.com>
* feat(dialectic) Allow for batch questions and load session history
* feat(dialectic) parallelize facts and history queries
* feat(agent) Addresses dev-258 allow specifying additional collections
* feat(uv) switched from poetry to uv
* feat(deriver) Turn off derivations by editing session medatadata with a deriver_disabled flag
* fix(tests) Clean up test logic
---------
Co-authored-by: Vineeth Voruganti <vineeth@macbook-pro.mynetworksettings.com>
* 🧪 asyncify tests
* ✨ asyncify client
* Basic Test for Page based pagination
* add sync buildstep and client
* add vscode DX
* Added Testing for generators and updated examples
* feat: example updates
* readme exists now
* Stylistic changes and generic message
* Metamessages with other refactoring - untested
* Work with unit tests
* Fix Examples
* MEME-78 Update Changelogs
* Docstrings to client
* 🧪 autogenerate sync tests
* test one
* add db type
* sync client
* add status badge
* add coverage
* add file
* give perms
* properly output coverage
* split test and coverage
* rename action
* 🧪 autogenerate sync tests (#16)
* Vector Support (#18)
* Scaffold for PGVector support
* Buggy crud with logic skeleton on api
* Crud logic and schema definition for pgvector
* Populate all routes and refactor to name Collection
* vince's progress
* AsyncCollection progress
* Local PGVector Docker Container
* client methods for sdk except document delete and update
* Vector Support Passing All Test Cases
* Docs Updates
---------
Co-authored-by: vintro <vince@plasticlabs.ai>
* Add reverse parameters for paginated routes
* Address dependabot
* Formatting
* initial commit on honcho dspy personas
* working, hit token limit and can't test dspy optimization
* initial version working, need to test optimization
* optimizers working, but appending any example
* ready for user object (tbomk)
* Revert "add test actions and coverage"
* Refactor to add User and App Tables
* User Object passing test cases
* Update examples
* DSPy Todo and documentation updates
* Add is_active filtering
* Add is_active filtering to the generator
* Fix update user metadata
* working, but weird compiler error
* fixed str error in optimizer
* ship
* sentry
* Open Telemetry
* optional logging with environment variables
* add actions again? (#29)
* add postgres
* add openai key
* readd coverage
* desyncify and add detailed coverage
* ⚙️ chore: update start script in VS Code to include poetry install --no-root before running uvicorn (#33)
* Refactored code but need to tweak asyncpg
* Working Async API using Psycopg3
* Update Workflow Connection URI
* Update Workflow Connection URI in coverage test as well
* Skeleton for Dialectic API
* Fixes DEV-217 URL Encoding
* Add Built-in Langchain Utility function
* Sphinx Docs MVP
* Metadata filtering for all fixes dev-261
* Basic Dialectic Endpoint fixes dev-253
* Working Fact Deriver
* 0.0.5 Docs and README updates
* Cloudflare Sphinx
* update example to use right function (#36)
* 🚀 feat: add support for running API using docker-compose with configurable environment variables and update docker-compose.yml for API and database services. (#34)
Co-authored-by: Vineeth Voruganti <13438633+VVoruganti@users.noreply.github.com>
* add interrogate
* routerify everything
* full docstring coverage
* remove unused imports and fix env issue
* Update docker-compose connection uri and remove auto-stop to deriver process
* Docstrings and langchain message converter in reverse
* Sentry, OTEL, langchain both directions, fly.toml for deriver
* Rename to deriver
* Fix favicon and remove metadata from schema
* 0.0.6 Notes
* Changelog edit
* Route bug fix
* Route bug fix again
* Langchain Utilities Refactor (#48)
* [0.0.6] - 3-21-2024 Bug Fixes (#47)
* 🧪 asyncify tests
* ✨ asyncify client
* Basic Test for Page based pagination
* add sync buildstep and client
* add vscode DX
* Added Testing for generators and updated examples
* feat: example updates
* readme exists now
* Stylistic changes and generic message
* Metamessages with other refactoring - untested
* Work with unit tests
* Fix Examples
* MEME-78 Update Changelogs
* Docstrings to client
* 🧪 autogenerate sync tests
* test one
* add db type
* sync client
* add status badge
* add coverage
* add file
* give perms
* properly output coverage
* split test and coverage
* rename action
* 🧪 autogenerate sync tests (#16)
* Vector Support (#18)
* Scaffold for PGVector support
* Buggy crud with logic skeleton on api
* Crud logic and schema definition for pgvector
* Populate all routes and refactor to name Collection
* vince's progress
* AsyncCollection progress
* Local PGVector Docker Container
* client methods for sdk except document delete and update
* Vector Support Passing All Test Cases
* Docs Updates
---------
Co-authored-by: vintro <vince@plasticlabs.ai>
* Add reverse parameters for paginated routes
* Address dependabot
* Formatting
* initial commit on honcho dspy personas
* working, hit token limit and can't test dspy optimization
* initial version working, need to test optimization
* optimizers working, but appending any example
* ready for user object (tbomk)
* Revert "add test actions and coverage"
* Refactor to add User and App Tables
* User Object passing test cases
* Update examples
* DSPy Todo and documentation updates
* Add is_active filtering
* Add is_active filtering to the generator
* Fix update user metadata
* working, but weird compiler error
* fixed str error in optimizer
* ship
* sentry
* Open Telemetry
* optional logging with environment variables
* add actions again? (#29)
* add postgres
* add openai key
* readd coverage
* desyncify and add detailed coverage
* ⚙️ chore: update start script in VS Code to include poetry install --no-root before running uvicorn (#33)
* Refactored code but need to tweak asyncpg
* Working Async API using Psycopg3
* Update Workflow Connection URI
* Update Workflow Connection URI in coverage test as well
* Skeleton for Dialectic API
* Fixes DEV-217 URL Encoding
* Add Built-in Langchain Utility function
* Sphinx Docs MVP
* Metadata filtering for all fixes dev-261
* Basic Dialectic Endpoint fixes dev-253
* Working Fact Deriver
* 0.0.5 Docs and README updates
* Cloudflare Sphinx
* update example to use right function (#36)
* 🚀 feat: add support for running API using docker-compose with configurable environment variables and update docker-compose.yml for API and database services. (#34)
Co-authored-by: Vineeth Voruganti <13438633+VVoruganti@users.noreply.github.com>
* add interrogate
* routerify everything
* full docstring coverage
* remove unused imports and fix env issue
* Update docker-compose connection uri and remove auto-stop to deriver process
* Docstrings and langchain message converter in reverse
* Sentry, OTEL, langchain both directions, fly.toml for deriver
* Rename to deriver
* Fix favicon and remove metadata from schema
* 0.0.6 Notes
* Changelog edit
* Route bug fix
* Route bug fix again
---------
Co-authored-by: hyusap <paulayush@gmail.com>
Co-authored-by: vintro <vince@plasticlabs.ai>
Co-authored-by: vintro <77507980+vintrocode@users.noreply.github.com>
* Port Docs
* Update Examples with new langchain utilites
* Rename decorator
* Synchronize
* Fix API SessionLocal
---------
Co-authored-by: hyusap <paulayush@gmail.com>
Co-authored-by: vintro <vince@plasticlabs.ai>
Co-authored-by: vintro <77507980+vintrocode@users.noreply.github.com>
* Basic Auth Header validation
* Basic Auth Service
* Deriver reliability and default auth revoke
* .env.template
* 0.0.7 Updates
---------
Co-authored-by: hyusap <paulayush@gmail.com>
Co-authored-by: vintro <vince@plasticlabs.ai>
Co-authored-by: vintro <77507980+vintrocode@users.noreply.github.com>
* 🧪 asyncify tests
* ✨ asyncify client
* Basic Test for Page based pagination
* add sync buildstep and client
* add vscode DX
* Added Testing for generators and updated examples
* feat: example updates
* readme exists now
* Stylistic changes and generic message
* Metamessages with other refactoring - untested
* Work with unit tests
* Fix Examples
* MEME-78 Update Changelogs
* Docstrings to client
* 🧪 autogenerate sync tests
* test one
* add db type
* sync client
* add status badge
* add coverage
* add file
* give perms
* properly output coverage
* split test and coverage
* rename action
* 🧪 autogenerate sync tests (#16)
* Vector Support (#18)
* Scaffold for PGVector support
* Buggy crud with logic skeleton on api
* Crud logic and schema definition for pgvector
* Populate all routes and refactor to name Collection
* vince's progress
* AsyncCollection progress
* Local PGVector Docker Container
* client methods for sdk except document delete and update
* Vector Support Passing All Test Cases
* Docs Updates
---------
Co-authored-by: vintro <vince@plasticlabs.ai>
* Add reverse parameters for paginated routes
* Address dependabot
* Formatting
* initial commit on honcho dspy personas
* working, hit token limit and can't test dspy optimization
* initial version working, need to test optimization
* optimizers working, but appending any example
* ready for user object (tbomk)
* Revert "add test actions and coverage"
* Refactor to add User and App Tables
* User Object passing test cases
* Update examples
* DSPy Todo and documentation updates
* Add is_active filtering
* Add is_active filtering to the generator
* Fix update user metadata
* working, but weird compiler error
* fixed str error in optimizer
* ship
* sentry
* Open Telemetry
* optional logging with environment variables
* add actions again? (#29)
* add postgres
* add openai key
* readd coverage
* desyncify and add detailed coverage
* ⚙️ chore: update start script in VS Code to include poetry install --no-root before running uvicorn (#33)
* Refactored code but need to tweak asyncpg
* Working Async API using Psycopg3
* Update Workflow Connection URI
* Update Workflow Connection URI in coverage test as well
* Skeleton for Dialectic API
* Fixes DEV-217 URL Encoding
* Add Built-in Langchain Utility function
* Sphinx Docs MVP
* Metadata filtering for all fixes dev-261
* Basic Dialectic Endpoint fixes dev-253
* Working Fact Deriver
* 0.0.5 Docs and README updates
* Cloudflare Sphinx
* update example to use right function (#36)
* 🚀 feat: add support for running API using docker-compose with configurable environment variables and update docker-compose.yml for API and database services. (#34)
Co-authored-by: Vineeth Voruganti <13438633+VVoruganti@users.noreply.github.com>
* add interrogate
* routerify everything
* full docstring coverage
* remove unused imports and fix env issue
* Update docker-compose connection uri and remove auto-stop to deriver process
* Docstrings and langchain message converter in reverse
* Sentry, OTEL, langchain both directions, fly.toml for deriver
* Rename to deriver
* Fix favicon and remove metadata from schema
* 0.0.6 Notes
* Changelog edit
* Route bug fix
* Route bug fix again
---------
Co-authored-by: hyusap <paulayush@gmail.com>
Co-authored-by: vintro <vince@plasticlabs.ai>
Co-authored-by: vintro <77507980+vintrocode@users.noreply.github.com>
* 🧪 asyncify tests
* ✨ asyncify client
* Basic Test for Page based pagination
* add sync buildstep and client
* add vscode DX
* Added Testing for generators and updated examples
* feat: example updates
* readme exists now
* Stylistic changes and generic message
* Metamessages with other refactoring - untested
* Work with unit tests
* Fix Examples
* MEME-78 Update Changelogs
* Docstrings to client
* 🧪 autogenerate sync tests
* test one
* add db type
* sync client
* add status badge
* add coverage
* add file
* give perms
* properly output coverage
* split test and coverage
* rename action
* 🧪 autogenerate sync tests (#16)
* Vector Support (#18)
* Scaffold for PGVector support
* Buggy crud with logic skeleton on api
* Crud logic and schema definition for pgvector
* Populate all routes and refactor to name Collection
* vince's progress
* AsyncCollection progress
* Local PGVector Docker Container
* client methods for sdk except document delete and update
* Vector Support Passing All Test Cases
* Docs Updates
---------
Co-authored-by: vintro <vince@plasticlabs.ai>
* Add reverse parameters for paginated routes
* Address dependabot
* Formatting
* initial commit on honcho dspy personas
* working, hit token limit and can't test dspy optimization
* initial version working, need to test optimization
* optimizers working, but appending any example
* ready for user object (tbomk)
* Revert "add test actions and coverage"
* Refactor to add User and App Tables
* User Object passing test cases
* Update examples
* DSPy Todo and documentation updates
* Add is_active filtering
* Add is_active filtering to the generator
* Fix update user metadata
* working, but weird compiler error
* fixed str error in optimizer
* ship
* sentry
* Open Telemetry
* optional logging with environment variables
* add actions again? (#29)
* add postgres
* add openai key
* readd coverage
* desyncify and add detailed coverage
* ⚙️ chore: update start script in VS Code to include poetry install --no-root before running uvicorn (#33)
* Refactored code but need to tweak asyncpg
* Working Async API using Psycopg3
* Update Workflow Connection URI
* Update Workflow Connection URI in coverage test as well
* Skeleton for Dialectic API
* Fixes DEV-217 URL Encoding
* Add Built-in Langchain Utility function
* Sphinx Docs MVP
* Metadata filtering for all fixes dev-261
* Basic Dialectic Endpoint fixes dev-253
* Working Fact Deriver
* 0.0.5 Docs and README updates
* Cloudflare Sphinx
---------
Co-authored-by: hyusap <paulayush@gmail.com>
Co-authored-by: vintro <vince@plasticlabs.ai>