oaken 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- oaken-0.1.0/.gitattributes +3 -0
- oaken-0.1.0/.github/workflows/ci.yml +41 -0
- oaken-0.1.0/.github/workflows/pages.yml +18 -0
- oaken-0.1.0/.gitignore +241 -0
- oaken-0.1.0/.import_linter_cache/.gitignore +2 -0
- oaken-0.1.0/.import_linter_cache/71507c3f98dc9e82724a874bbfe8eb1f355ab577.data.json +1 -0
- oaken-0.1.0/.import_linter_cache/CACHEDIR.TAG +3 -0
- oaken-0.1.0/.import_linter_cache/oaken.meta.json +1 -0
- oaken-0.1.0/.import_linter_cache/oaken_cli.meta.json +1 -0
- oaken-0.1.0/.import_linter_cache/oaken_enrichers.meta.json +1 -0
- oaken-0.1.0/.import_linter_cache/oaken_gmail.meta.json +1 -0
- oaken-0.1.0/.import_linter_cache/oaken_imap.meta.json +1 -0
- oaken-0.1.0/.import_linter_cache/oaken_ollama.meta.json +1 -0
- oaken-0.1.0/.import_linter_cache/oaken_smtp.meta.json +1 -0
- oaken-0.1.0/.import_linter_cache/oaken_vec_sqlite.meta.json +1 -0
- oaken-0.1.0/.import_linter_cache/oaken_webui.meta.json +1 -0
- oaken-0.1.0/.kiro/settings/lsp.json +205 -0
- oaken-0.1.0/.pre-commit-config.yaml +20 -0
- oaken-0.1.0/.secrets.baseline +133 -0
- oaken-0.1.0/CHANGELOG.md +50 -0
- oaken-0.1.0/CODE_OF_CONDUCT.md +117 -0
- oaken-0.1.0/CONTRIBUTING.md +183 -0
- oaken-0.1.0/LICENSE +201 -0
- oaken-0.1.0/NOTICE +5 -0
- oaken-0.1.0/PKG-INFO +60 -0
- oaken-0.1.0/README.md +16 -0
- oaken-0.1.0/SECURITY.md +10 -0
- oaken-0.1.0/apps/cli/README.md +9 -0
- oaken-0.1.0/apps/cli/pyproject.toml +43 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/__init__.py +14 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/__main__.py +10 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/client.py +144 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/__init__.py +3 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/account_cmd.py +349 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/agent_cmd.py +207 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/completion.py +64 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/content_cmd.py +266 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/daemon_cmd.py +99 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/mail_cmd.py +349 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/mcp_cmd.py +263 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/operation_cmd.py +162 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/runtime.py +147 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/schedule_cmd.py +138 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/commands/system_cmd.py +408 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/daemon.py +99 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/discovery.py +184 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/exits.py +74 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/http.py +252 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/inprocess.py +119 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/main.py +840 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/output.py +114 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/sanitize.py +77 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/tests/__init__.py +1 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/tests/conftest.py +97 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/tests/test_cli_accounts.py +204 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/tests/test_cli_commands.py +290 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/tests/test_cli_e2e.py +113 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/tests/test_cli_http.py +279 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/tests/test_cli_mcp.py +228 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/tests/test_cli_unit.py +102 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/tests/test_cli_usage.py +48 -0
- oaken-0.1.0/apps/cli/src/oaken_cli/tests/test_version.py +12 -0
- oaken-0.1.0/apps/core/README.md +29 -0
- oaken-0.1.0/apps/core/pyproject.toml +49 -0
- oaken-0.1.0/apps/core/src/oaken_core/__init__.py +13 -0
- oaken-0.1.0/apps/webui/README.md +35 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/accounts.html +417 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/assets/api.js +98 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/assets/brand/apple-touch-icon.png +0 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/assets/brand/favicon.png +0 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/assets/demo-fixtures.js +223 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/assets/oaken.css +327 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/assets/oaken.js +969 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/compose.html +213 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/config.html +466 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/contacts.html +232 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/index.html +238 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/login.html +49 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/message.html +206 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/search.html +206 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/settings.html +415 -0
- oaken-0.1.0/apps/webui/oakenmail-templates/sieve.html +322 -0
- oaken-0.1.0/apps/webui/pyproject.toml +49 -0
- oaken-0.1.0/apps/webui/src/oaken_webui/__init__.py +14 -0
- oaken-0.1.0/apps/webui/src/oaken_webui/app.py +260 -0
- oaken-0.1.0/apps/webui/src/oaken_webui/main.py +276 -0
- oaken-0.1.0/apps/webui/src/oaken_webui/tests/__init__.py +1 -0
- oaken-0.1.0/apps/webui/src/oaken_webui/tests/test_app.py +234 -0
- oaken-0.1.0/apps/webui/src/oaken_webui/tests/test_main.py +135 -0
- oaken-0.1.0/apps/webui/src/oaken_webui/tests/test_templates.py +34 -0
- oaken-0.1.0/apps/webui/ui-contract.json +71 -0
- oaken-0.1.0/config.example.toml +147 -0
- oaken-0.1.0/docs/.nojekyll +0 -0
- oaken-0.1.0/docs/.site-manifest +59 -0
- oaken-0.1.0/docs/404.html +22 -0
- oaken-0.1.0/docs/adr/0001-record-architecture-decisions.md +20 -0
- oaken-0.1.0/docs/adr/0002-core-daemon-and-thin-clients.md +27 -0
- oaken-0.1.0/docs/adr/0003-sqlite-access-layer.md +42 -0
- oaken-0.1.0/docs/adr/0004-mcp-server-in-core.md +51 -0
- oaken-0.1.0/docs/adr/0005-http-stack-and-api-security.md +77 -0
- oaken-0.1.0/docs/adr/0006-clients-live-in-apps.md +36 -0
- oaken-0.1.0/docs/adr/0007-webui-is-a-separate-client.md +54 -0
- oaken-0.1.0/docs/adr/0008-location-and-enrichment-attrs.md +77 -0
- oaken-0.1.0/docs/adr/0009-sieve-write-path.md +74 -0
- oaken-0.1.0/docs/adr/0010-the-stable-surface-and-its-versioning.md +87 -0
- oaken-0.1.0/docs/adr/0011-service-units-for-the-composition-root.md +63 -0
- oaken-0.1.0/docs/adr/0012-plugin-extension-hooks.md +68 -0
- oaken-0.1.0/docs/adr/0013-read-only-stats-page.md +91 -0
- oaken-0.1.0/docs/adr/0014-product-family-and-ui-surfaces.md +81 -0
- oaken-0.1.0/docs/adr/index.html +198 -0
- oaken-0.1.0/docs/architecture/ai-safety.html +208 -0
- oaken-0.1.0/docs/architecture/ai-safety.md +105 -0
- oaken-0.1.0/docs/architecture/daemon.html +362 -0
- oaken-0.1.0/docs/architecture/daemon.md +165 -0
- oaken-0.1.0/docs/architecture/index.html +221 -0
- oaken-0.1.0/docs/architecture/index.md +94 -0
- oaken-0.1.0/docs/architecture/ingest-pipeline.html +376 -0
- oaken-0.1.0/docs/architecture/ingest-pipeline.md +167 -0
- oaken-0.1.0/docs/architecture/jobs.html +264 -0
- oaken-0.1.0/docs/architecture/jobs.md +130 -0
- oaken-0.1.0/docs/architecture/operations.html +267 -0
- oaken-0.1.0/docs/architecture/operations.md +117 -0
- oaken-0.1.0/docs/architecture/overview.html +228 -0
- oaken-0.1.0/docs/architecture/overview.md +84 -0
- oaken-0.1.0/docs/architecture/parsing.html +322 -0
- oaken-0.1.0/docs/architecture/parsing.md +165 -0
- oaken-0.1.0/docs/architecture/read-state.html +323 -0
- oaken-0.1.0/docs/architecture/read-state.md +113 -0
- oaken-0.1.0/docs/architecture/retrieval.html +271 -0
- oaken-0.1.0/docs/architecture/retrieval.md +119 -0
- oaken-0.1.0/docs/architecture/sieve.html +299 -0
- oaken-0.1.0/docs/architecture/sieve.md +154 -0
- oaken-0.1.0/docs/architecture/software-map.html +439 -0
- oaken-0.1.0/docs/architecture/storage.html +206 -0
- oaken-0.1.0/docs/architecture/storage.md +87 -0
- oaken-0.1.0/docs/architecture/swarm.html +255 -0
- oaken-0.1.0/docs/architecture/swarm.md +154 -0
- oaken-0.1.0/docs/architecture/sync-schedule.html +245 -0
- oaken-0.1.0/docs/architecture/sync-schedule.md +101 -0
- oaken-0.1.0/docs/architecture/vectors.html +199 -0
- oaken-0.1.0/docs/architecture/vectors.md +63 -0
- oaken-0.1.0/docs/assets/brand/apple-touch-icon.png +0 -0
- oaken-0.1.0/docs/assets/brand/favicon.png +0 -0
- oaken-0.1.0/docs/assets/brand/logo.png +0 -0
- oaken-0.1.0/docs/assets/site.css +247 -0
- oaken-0.1.0/docs/assets/site.js +53 -0
- oaken-0.1.0/docs/code-of-conduct.html +194 -0
- oaken-0.1.0/docs/contributing.html +488 -0
- oaken-0.1.0/docs/demo/accounts.html +415 -0
- oaken-0.1.0/docs/demo/assets/api.js +98 -0
- oaken-0.1.0/docs/demo/assets/brand/apple-touch-icon.png +0 -0
- oaken-0.1.0/docs/demo/assets/brand/favicon.png +0 -0
- oaken-0.1.0/docs/demo/assets/demo-fixtures.js +223 -0
- oaken-0.1.0/docs/demo/assets/oaken.css +327 -0
- oaken-0.1.0/docs/demo/assets/oaken.js +969 -0
- oaken-0.1.0/docs/demo/compose.html +211 -0
- oaken-0.1.0/docs/demo/config.html +464 -0
- oaken-0.1.0/docs/demo/contacts.html +230 -0
- oaken-0.1.0/docs/demo/index.html +236 -0
- oaken-0.1.0/docs/demo/login.html +47 -0
- oaken-0.1.0/docs/demo/message.html +204 -0
- oaken-0.1.0/docs/demo/search.html +204 -0
- oaken-0.1.0/docs/demo/settings.html +413 -0
- oaken-0.1.0/docs/demo/sieve.html +320 -0
- oaken-0.1.0/docs/evals/latest.json +222 -0
- oaken-0.1.0/docs/evals/latest.md +44 -0
- oaken-0.1.0/docs/getting-started.html +219 -0
- oaken-0.1.0/docs/getting-started.md +135 -0
- oaken-0.1.0/docs/index.html +100 -0
- oaken-0.1.0/docs/index.md +24 -0
- oaken-0.1.0/docs/keyring.html +177 -0
- oaken-0.1.0/docs/keyring.md +78 -0
- oaken-0.1.0/docs/mcp.html +411 -0
- oaken-0.1.0/docs/plugins.html +485 -0
- oaken-0.1.0/docs/plugins.md +407 -0
- oaken-0.1.0/docs/prompts/00-context.md +210 -0
- oaken-0.1.0/docs/prompts/01-bootstrap.md +72 -0
- oaken-0.1.0/docs/prompts/01a-docs-site-scaffold.md +142 -0
- oaken-0.1.0/docs/prompts/02-core-foundation.md +57 -0
- oaken-0.1.0/docs/prompts/03-events-and-jobs.md +57 -0
- oaken-0.1.0/docs/prompts/03b-swarm-foundations.md +59 -0
- oaken-0.1.0/docs/prompts/04-plugin-host.md +97 -0
- oaken-0.1.0/docs/prompts/05-raw-store.md +70 -0
- oaken-0.1.0/docs/prompts/06-parsing-and-cleaning.md +85 -0
- oaken-0.1.0/docs/prompts/06c-sieve-filtering.md +98 -0
- oaken-0.1.0/docs/prompts/07-index-and-fts.md +96 -0
- oaken-0.1.0/docs/prompts/08-vector-store.md +61 -0
- oaken-0.1.0/docs/prompts/09-ingest-pipeline.md +151 -0
- oaken-0.1.0/docs/prompts/10-ollama-and-prompt-safety.md +112 -0
- oaken-0.1.0/docs/prompts/11-gmail-plugin.md +121 -0
- oaken-0.1.0/docs/prompts/11b-smtp-send.md +48 -0
- oaken-0.1.0/docs/prompts/11c-imap-provider.md +28 -0
- oaken-0.1.0/docs/prompts/12-read-state.md +85 -0
- oaken-0.1.0/docs/prompts/12b-sync-scheduling.md +83 -0
- oaken-0.1.0/docs/prompts/13-operation-registry.md +74 -0
- oaken-0.1.0/docs/prompts/14-enrichers.md +88 -0
- oaken-0.1.0/docs/prompts/15-retrieval-and-ask.md +69 -0
- oaken-0.1.0/docs/prompts/16-api-daemon.md +84 -0
- oaken-0.1.0/docs/prompts/17-cli-client.md +167 -0
- oaken-0.1.0/docs/prompts/18-mcp-shim.md +84 -0
- oaken-0.1.0/docs/prompts/19-security-hardening.md +73 -0
- oaken-0.1.0/docs/prompts/20-oss-docs.md +76 -0
- oaken-0.1.0/docs/prompts/21-webui-server.md +69 -0
- oaken-0.1.0/docs/prompts/21b-webui-client-foundation.md +413 -0
- oaken-0.1.0/docs/prompts/22-api-parity.md +95 -0
- oaken-0.1.0/docs/prompts/23-plugin-settings.md +195 -0
- oaken-0.1.0/docs/prompts/24-accounts-onboarding.md +89 -0
- oaken-0.1.0/docs/prompts/25-folders-labels-counts.md +95 -0
- oaken-0.1.0/docs/prompts/26-sieve-management.md +97 -0
- oaken-0.1.0/docs/prompts/27-contacts-people.md +82 -0
- oaken-0.1.0/docs/prompts/28-compose-and-send.md +160 -0
- oaken-0.1.0/docs/prompts/29-system-settings.md +84 -0
- oaken-0.1.0/docs/prompts/30-pipeline-management.md +127 -0
- oaken-0.1.0/docs/prompts/31-workspace-management.md +82 -0
- oaken-0.1.0/docs/prompts/32-mcp-settings.md +140 -0
- oaken-0.1.0/docs/prompts/33-agent-enrichment.md +132 -0
- oaken-0.1.0/docs/prompts/34-stabilize-core.md +379 -0
- oaken-0.1.0/docs/prompts/README.md +73 -0
- oaken-0.1.0/docs/providers/gmail.html +243 -0
- oaken-0.1.0/docs/providers/gmail.md +139 -0
- oaken-0.1.0/docs/providers/imap.html +238 -0
- oaken-0.1.0/docs/providers/imap.md +136 -0
- oaken-0.1.0/docs/providers/smtp.html +187 -0
- oaken-0.1.0/docs/providers/smtp.md +87 -0
- oaken-0.1.0/docs/reference/api.html +747 -0
- oaken-0.1.0/docs/reference/cli.html +789 -0
- oaken-0.1.0/docs/reference/evaluation.html +250 -0
- oaken-0.1.0/docs/reference/operations.html +964 -0
- oaken-0.1.0/docs/reference/plugin-contracts.html +1192 -0
- oaken-0.1.0/docs/releasing.md +130 -0
- oaken-0.1.0/docs/robots.txt +3 -0
- oaken-0.1.0/docs/security.html +100 -0
- oaken-0.1.0/docs/site.toml +188 -0
- oaken-0.1.0/docs/sitemap.xml +37 -0
- oaken-0.1.0/docs/softmap.toml +829 -0
- oaken-0.1.0/docs/spikes/sqlite-vec.md +44 -0
- oaken-0.1.0/docs/spikes/sqlite_vec_bench.py +215 -0
- oaken-0.1.0/docs/token-savings.html +208 -0
- oaken-0.1.0/docs/token-savings.md +103 -0
- oaken-0.1.0/docs/tools/brand/apple-touch-icon.png +0 -0
- oaken-0.1.0/docs/tools/brand/favicon.png +0 -0
- oaken-0.1.0/docs/tools/brand/logo.png +0 -0
- oaken-0.1.0/docs/tools/build_site.py +320 -0
- oaken-0.1.0/docs/tools/check_docs.py +288 -0
- oaken-0.1.0/docs/tools/compute_sri.py +51 -0
- oaken-0.1.0/docs/tools/gen_api_reference.py +194 -0
- oaken-0.1.0/docs/tools/gen_cli_reference.py +168 -0
- oaken-0.1.0/docs/tools/gen_evaluation.py +158 -0
- oaken-0.1.0/docs/tools/gen_mcp.py +222 -0
- oaken-0.1.0/docs/tools/gen_operations.py +85 -0
- oaken-0.1.0/docs/tools/gen_plugin_contracts.py +201 -0
- oaken-0.1.0/docs/tools/generated.py +101 -0
- oaken-0.1.0/docs/tools/model.py +227 -0
- oaken-0.1.0/docs/tools/pagebase.py +214 -0
- oaken-0.1.0/docs/tools/render.py +186 -0
- oaken-0.1.0/docs/tools/softmap.py +672 -0
- oaken-0.1.0/docs/tools/sri.toml +17 -0
- oaken-0.1.0/docs/tools/templates/404.html +22 -0
- oaken-0.1.0/docs/tools/templates/_footer_scripts.html +4 -0
- oaken-0.1.0/docs/tools/templates/_head.html +14 -0
- oaken-0.1.0/docs/tools/templates/cards.html +4 -0
- oaken-0.1.0/docs/tools/templates/home.html +33 -0
- oaken-0.1.0/docs/tools/templates/page.html +53 -0
- oaken-0.1.0/docs/tools/tests/conftest.py +34 -0
- oaken-0.1.0/docs/tools/tests/test_check_docs.py +187 -0
- oaken-0.1.0/docs/tools/tests/test_gen_evaluation.py +36 -0
- oaken-0.1.0/docs/tools/tests/test_publish.py +69 -0
- oaken-0.1.0/docs/tools/tests/test_real_docs.py +42 -0
- oaken-0.1.0/docs/tools/tests/test_site.py +242 -0
- oaken-0.1.0/docs/tools/tests/test_softmap.py +174 -0
- oaken-0.1.0/docs/tools/tests/treekit.py +130 -0
- oaken-0.1.0/pyproject.toml +303 -0
- oaken-0.1.0/src/oaken/__init__.py +4 -0
- oaken-0.1.0/src/oaken/ai/__init__.py +21 -0
- oaken-0.1.0/src/oaken/ai/access.py +40 -0
- oaken-0.1.0/src/oaken/ai/cache.py +66 -0
- oaken-0.1.0/src/oaken/ai/caller.py +8 -0
- oaken-0.1.0/src/oaken/ai/fresh.py +9 -0
- oaken-0.1.0/src/oaken/ai/generate.py +138 -0
- oaken-0.1.0/src/oaken/ai/prompts.py +104 -0
- oaken-0.1.0/src/oaken/ai/summarize.py +29 -0
- oaken-0.1.0/src/oaken/ai/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/ai/tests/conftest.py +60 -0
- oaken-0.1.0/src/oaken/ai/tests/test_access.py +45 -0
- oaken-0.1.0/src/oaken/ai/tests/test_generate.py +149 -0
- oaken-0.1.0/src/oaken/ai/tests/test_lint_prompts.py +92 -0
- oaken-0.1.0/src/oaken/ai/tests/test_untrusted.py +67 -0
- oaken-0.1.0/src/oaken/ai/workspaces.py +65 -0
- oaken-0.1.0/src/oaken/api/__init__.py +8 -0
- oaken-0.1.0/src/oaken/api/app.py +383 -0
- oaken-0.1.0/src/oaken/api/errors.py +65 -0
- oaken-0.1.0/src/oaken/api/guard.py +272 -0
- oaken-0.1.0/src/oaken/api/mcp_server.py +305 -0
- oaken-0.1.0/src/oaken/api/models.py +79 -0
- oaken-0.1.0/src/oaken/api/openapi.py +250 -0
- oaken-0.1.0/src/oaken/api/ratelimit.py +37 -0
- oaken-0.1.0/src/oaken/api/ring.py +100 -0
- oaken-0.1.0/src/oaken/api/runtime.py +172 -0
- oaken-0.1.0/src/oaken/api/server.py +86 -0
- oaken-0.1.0/src/oaken/api/stats.py +196 -0
- oaken-0.1.0/src/oaken/api/templates/oaken-logo.png +0 -0
- oaken-0.1.0/src/oaken/api/templates/stats.html +316 -0
- oaken-0.1.0/src/oaken/api/templates/stats.js +66 -0
- oaken-0.1.0/src/oaken/api/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/api/tests/conftest.py +109 -0
- oaken-0.1.0/src/oaken/api/tests/test_agents.py +174 -0
- oaken-0.1.0/src/oaken/api/tests/test_events.py +166 -0
- oaken-0.1.0/src/oaken/api/tests/test_guard.py +180 -0
- oaken-0.1.0/src/oaken/api/tests/test_mcp.py +317 -0
- oaken-0.1.0/src/oaken/api/tests/test_mcp_agent.py +206 -0
- oaken-0.1.0/src/oaken/api/tests/test_operations.py +153 -0
- oaken-0.1.0/src/oaken/api/tests/test_runtime.py +101 -0
- oaken-0.1.0/src/oaken/api/tests/test_stats.py +116 -0
- oaken-0.1.0/src/oaken/core/__init__.py +2 -0
- oaken-0.1.0/src/oaken/core/actors.py +22 -0
- oaken-0.1.0/src/oaken/core/agents.py +197 -0
- oaken-0.1.0/src/oaken/core/attrs.py +214 -0
- oaken-0.1.0/src/oaken/core/clock.py +49 -0
- oaken-0.1.0/src/oaken/core/cron.py +129 -0
- oaken-0.1.0/src/oaken/core/db.py +325 -0
- oaken-0.1.0/src/oaken/core/errors.py +107 -0
- oaken-0.1.0/src/oaken/core/events.py +323 -0
- oaken-0.1.0/src/oaken/core/ids.py +46 -0
- oaken-0.1.0/src/oaken/core/jobs.py +837 -0
- oaken-0.1.0/src/oaken/core/logging.py +122 -0
- oaken-0.1.0/src/oaken/core/mailbox.py +207 -0
- oaken-0.1.0/src/oaken/core/migrations/0001_jobs.sql +29 -0
- oaken-0.1.0/src/oaken/core/migrations/0002_schedules.sql +15 -0
- oaken-0.1.0/src/oaken/core/migrations/0003_swarm.sql +32 -0
- oaken-0.1.0/src/oaken/core/migrations/0004_raw_store.sql +55 -0
- oaken-0.1.0/src/oaken/core/migrations/0005_message_attrs.sql +29 -0
- oaken-0.1.0/src/oaken/core/migrations/0006_store_identity.sql +9 -0
- oaken-0.1.0/src/oaken/core/migrations/0007_ingest.sql +33 -0
- oaken-0.1.0/src/oaken/core/migrations/0008_llm_cache.sql +20 -0
- oaken-0.1.0/src/oaken/core/migrations/0009_audit_log.sql +21 -0
- oaken-0.1.0/src/oaken/core/migrations/0010_sync_schedules.sql +29 -0
- oaken-0.1.0/src/oaken/core/migrations/0011_operation_settings.sql +10 -0
- oaken-0.1.0/src/oaken/core/migrations/0012_location_attrs.sql +33 -0
- oaken-0.1.0/src/oaken/core/migrations/0013_pipeline_control.sql +14 -0
- oaken-0.1.0/src/oaken/core/migrations/0014_mailbox_nodes.sql +18 -0
- oaken-0.1.0/src/oaken/core/migrations/0015_account_removed.sql +6 -0
- oaken-0.1.0/src/oaken/core/migrations/0016_savings.sql +20 -0
- oaken-0.1.0/src/oaken/core/operations/__init__.py +44 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/__init__.py +46 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/accounts.py +300 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/agents.py +122 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/common.py +154 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/enrichment.py +88 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/filtering.py +255 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/jobs.py +287 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/mail.py +410 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/mailbox.py +231 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/messages.py +713 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/savings.py +90 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/schedules.py +187 -0
- oaken-0.1.0/src/oaken/core/operations/builtin/system.py +546 -0
- oaken-0.1.0/src/oaken/core/operations/caller.py +65 -0
- oaken-0.1.0/src/oaken/core/operations/client.py +181 -0
- oaken-0.1.0/src/oaken/core/operations/context.py +23 -0
- oaken-0.1.0/src/oaken/core/operations/exposure.py +82 -0
- oaken-0.1.0/src/oaken/core/operations/gate.py +112 -0
- oaken-0.1.0/src/oaken/core/operations/limits.py +72 -0
- oaken-0.1.0/src/oaken/core/operations/openapi.py +126 -0
- oaken-0.1.0/src/oaken/core/operations/plugin_ops.py +92 -0
- oaken-0.1.0/src/oaken/core/operations/registry.py +227 -0
- oaken-0.1.0/src/oaken/core/operations/savings.py +76 -0
- oaken-0.1.0/src/oaken/core/operations/services.py +103 -0
- oaken-0.1.0/src/oaken/core/operations/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/core/operations/tests/conftest.py +234 -0
- oaken-0.1.0/src/oaken/core/operations/tests/operation_schemas.json +7057 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_accounts.py +184 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_enrichment_sieve.py +171 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_exposure.py +189 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_folders_counts.py +67 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_gate.py +195 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_job_control.py +74 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_limits.py +71 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_operations.py +199 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_paging.py +208 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_pipeline_control.py +89 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_policy.py +29 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_read_state.py +261 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_receive_only.py +126 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_registry.py +148 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_savings.py +83 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_schema_snapshot.py +73 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_thread.py +104 -0
- oaken-0.1.0/src/oaken/core/operations/tests/test_ui_contract.py +86 -0
- oaken-0.1.0/src/oaken/core/paths.py +42 -0
- oaken-0.1.0/src/oaken/core/rawstore.py +701 -0
- oaken-0.1.0/src/oaken/core/scheduler.py +157 -0
- oaken-0.1.0/src/oaken/core/search/__init__.py +28 -0
- oaken-0.1.0/src/oaken/core/search/ask.py +175 -0
- oaken-0.1.0/src/oaken/core/search/context.py +297 -0
- oaken-0.1.0/src/oaken/core/search/hybrid.py +385 -0
- oaken-0.1.0/src/oaken/core/search/query.py +37 -0
- oaken-0.1.0/src/oaken/core/search/quotes.py +36 -0
- oaken-0.1.0/src/oaken/core/search/rewrite.py +61 -0
- oaken-0.1.0/src/oaken/core/search/service.py +118 -0
- oaken-0.1.0/src/oaken/core/search/signals.py +79 -0
- oaken-0.1.0/src/oaken/core/search/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/core/search/tests/conftest.py +80 -0
- oaken-0.1.0/src/oaken/core/search/tests/test_ask.py +164 -0
- oaken-0.1.0/src/oaken/core/search/tests/test_context.py +120 -0
- oaken-0.1.0/src/oaken/core/search/tests/test_hybrid.py +204 -0
- oaken-0.1.0/src/oaken/core/search/tests/test_query.py +33 -0
- oaken-0.1.0/src/oaken/core/search/tests/test_quotes.py +36 -0
- oaken-0.1.0/src/oaken/core/search/tests/test_signals.py +29 -0
- oaken-0.1.0/src/oaken/core/settings.py +458 -0
- oaken-0.1.0/src/oaken/core/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/core/tests/conftest.py +50 -0
- oaken-0.1.0/src/oaken/core/tests/event_snapshot.json +149 -0
- oaken-0.1.0/src/oaken/core/tests/test_cron.py +140 -0
- oaken-0.1.0/src/oaken/core/tests/test_db.py +253 -0
- oaken-0.1.0/src/oaken/core/tests/test_event_snapshot.py +72 -0
- oaken-0.1.0/src/oaken/core/tests/test_events.py +150 -0
- oaken-0.1.0/src/oaken/core/tests/test_jobs.py +526 -0
- oaken-0.1.0/src/oaken/core/tests/test_logging.py +97 -0
- oaken-0.1.0/src/oaken/core/tests/test_rawstore.py +428 -0
- oaken-0.1.0/src/oaken/core/tests/test_relocation.py +47 -0
- oaken-0.1.0/src/oaken/core/tests/test_scheduler.py +193 -0
- oaken-0.1.0/src/oaken/core/tests/test_settings.py +93 -0
- oaken-0.1.0/src/oaken/core/tests/test_small_modules.py +79 -0
- oaken-0.1.0/src/oaken/core/tests/test_swarm.py +439 -0
- oaken-0.1.0/src/oaken/core/untrusted.py +88 -0
- oaken-0.1.0/src/oaken/daemon/__init__.py +7 -0
- oaken-0.1.0/src/oaken/daemon/__main__.py +8 -0
- oaken-0.1.0/src/oaken/daemon/core.py +272 -0
- oaken-0.1.0/src/oaken/daemon/lifecycle.py +248 -0
- oaken-0.1.0/src/oaken/daemon/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/daemon/tests/conftest.py +31 -0
- oaken-0.1.0/src/oaken/daemon/tests/test_daemon.py +295 -0
- oaken-0.1.0/src/oaken/daemon/tests/test_mcp.py +122 -0
- oaken-0.1.0/src/oaken/daemon/tests/test_units.py +77 -0
- oaken-0.1.0/src/oaken/daemon/units.py +101 -0
- oaken-0.1.0/src/oaken/evals/__init__.py +140 -0
- oaken-0.1.0/src/oaken/evals/__main__.py +161 -0
- oaken-0.1.0/src/oaken/evals/retrieval/corpus.py +301 -0
- oaken-0.1.0/src/oaken/evals/retrieval/embedder.py +71 -0
- oaken-0.1.0/src/oaken/evals/retrieval/metrics.py +28 -0
- oaken-0.1.0/src/oaken/evals/retrieval/reader.py +61 -0
- oaken-0.1.0/src/oaken/evals/retrieval/report.py +117 -0
- oaken-0.1.0/src/oaken/evals/retrieval/run.py +389 -0
- oaken-0.1.0/src/oaken/evals/retrieval/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/evals/retrieval/tests/test_corpus.py +22 -0
- oaken-0.1.0/src/oaken/evals/retrieval/tests/test_metrics.py +22 -0
- oaken-0.1.0/src/oaken/evals/retrieval/tests/test_retrieval_eval.py +55 -0
- oaken-0.1.0/src/oaken/index/__init__.py +52 -0
- oaken-0.1.0/src/oaken/index/analyze.py +51 -0
- oaken-0.1.0/src/oaken/index/migrations/0001_index.sql +85 -0
- oaken-0.1.0/src/oaken/index/migrations/0002_location.sql +6 -0
- oaken-0.1.0/src/oaken/index/migrations/0003_threading.sql +9 -0
- oaken-0.1.0/src/oaken/index/query.py +264 -0
- oaken-0.1.0/src/oaken/index/service.py +343 -0
- oaken-0.1.0/src/oaken/index/store.py +893 -0
- oaken-0.1.0/src/oaken/index/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/index/tests/conftest.py +76 -0
- oaken-0.1.0/src/oaken/index/tests/test_query.py +186 -0
- oaken-0.1.0/src/oaken/index/tests/test_rebuild.py +357 -0
- oaken-0.1.0/src/oaken/index/tests/test_store.py +426 -0
- oaken-0.1.0/src/oaken/ingest/__init__.py +44 -0
- oaken-0.1.0/src/oaken/ingest/backends.py +142 -0
- oaken-0.1.0/src/oaken/ingest/pipeline.py +790 -0
- oaken-0.1.0/src/oaken/ingest/pipeline_control.py +82 -0
- oaken-0.1.0/src/oaken/ingest/quarantine.py +121 -0
- oaken-0.1.0/src/oaken/ingest/schedule.py +706 -0
- oaken-0.1.0/src/oaken/ingest/sync.py +171 -0
- oaken-0.1.0/src/oaken/ingest/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/ingest/tests/conftest.py +195 -0
- oaken-0.1.0/src/oaken/ingest/tests/test_crash.py +112 -0
- oaken-0.1.0/src/oaken/ingest/tests/test_pipeline.py +260 -0
- oaken-0.1.0/src/oaken/ingest/tests/test_plugin_stages.py +83 -0
- oaken-0.1.0/src/oaken/ingest/tests/test_schedule.py +670 -0
- oaken-0.1.0/src/oaken/ingest/tests/test_stages.py +177 -0
- oaken-0.1.0/src/oaken/ingest/usage.py +168 -0
- oaken-0.1.0/src/oaken/mail/__init__.py +38 -0
- oaken-0.1.0/src/oaken/mail/attachments.py +87 -0
- oaken-0.1.0/src/oaken/mail/chunk.py +133 -0
- oaken-0.1.0/src/oaken/mail/clean.py +415 -0
- oaken-0.1.0/src/oaken/mail/filtering.py +211 -0
- oaken-0.1.0/src/oaken/mail/html.py +188 -0
- oaken-0.1.0/src/oaken/mail/parse.py +386 -0
- oaken-0.1.0/src/oaken/mail/sendpolicy.py +42 -0
- oaken-0.1.0/src/oaken/mail/sieve/__init__.py +31 -0
- oaken-0.1.0/src/oaken/mail/sieve/interp.py +546 -0
- oaken-0.1.0/src/oaken/mail/sieve/match.py +159 -0
- oaken-0.1.0/src/oaken/mail/sieve/parser.py +288 -0
- oaken-0.1.0/src/oaken/mail/sieve/script.py +244 -0
- oaken-0.1.0/src/oaken/mail/sieve/view.py +45 -0
- oaken-0.1.0/src/oaken/mail/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/mail/tests/conftest.py +59 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/alternative/faithful.cleaned.txt +4 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/alternative/faithful.eml +21 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/alternative/stub-plain.cleaned.txt +5 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/alternative/stub-plain.eml +20 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/attachments/exe-and-inline-image.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/attachments/exe-and-inline-image.eml +28 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/attachments/pdf-small.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/attachments/pdf-small.eml +32 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/attachments/text-attachment.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/attachments/text-attachment.eml +20 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/bounce/dsn.cleaned.txt +5 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/bounce/dsn.eml +35 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/calendar/invite.cleaned.txt +3 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/calendar/invite.eml +32 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/bad-bytes-utf8.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/bad-bytes-utf8.eml +10 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/koi8r-qp.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/koi8r-qp.eml +11 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/latin1-qp.cleaned.txt +3 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/latin1-qp.eml +12 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/raw-8bit-latin1.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/raw-8bit-latin1.eml +10 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/shiftjis-base64.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/shiftjis-base64.eml +10 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/unknown-charset.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/charset/unknown-charset.eml +10 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/disclaimer/legal-footer.cleaned.txt +5 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/disclaimer/legal-footer.eml +20 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/disclaimer/only-disclaimer.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/disclaimer/only-disclaimer.eml +9 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/forward/attached-forward.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/forward/attached-forward.eml +28 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/forward/inline-forward.cleaned.txt +13 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/forward/inline-forward.eml +22 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/forward/nested-forward.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/forward/nested-forward.eml +47 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/html/data-table.cleaned.txt +11 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/html/data-table.eml +12 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/html/html-only.cleaned.txt +11 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/html/html-only.eml +14 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/html/marketing.cleaned.txt +8 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/html/marketing.eml +20 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/list/mailman-post.cleaned.txt +6 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/list/mailman-post.eml +21 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/list/newsletter.cleaned.txt +7 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/list/newsletter.eml +22 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/bad-base64.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/bad-base64.eml +10 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/bad-boundary.cleaned.txt +5 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/bad-boundary.eml +13 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/bad-date-and-from.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/bad-date-and-from.eml +7 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/binary-garbage.cleaned.txt +4 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/binary-garbage.eml +0 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/duplicate-headers.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/duplicate-headers.eml +10 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/empty.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/empty.eml +0 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/headers-only.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/headers-only.eml +5 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/no-headers.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/no-headers.eml +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/truncated-mime.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/malformed/truncated-mime.eml +17 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/crlf.cleaned.txt +4 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/crlf.eml +12 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/mobile.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/mobile.eml +11 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/simple.cleaned.txt +7 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/simple.eml +15 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/unicode-and-invisibles.cleaned.txt +7 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/unicode-and-invisibles.eml +18 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/with-closing-signature.cleaned.txt +3 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/with-closing-signature.eml +15 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/with-signature-delim.cleaned.txt +2 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/plain/with-signature-delim.eml +15 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/german.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/german.eml +13 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/gmail-chain.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/gmail-chain.eml +19 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/html-gmail-quote.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/html-gmail-quote.eml +12 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/interleaved.cleaned.txt +7 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/interleaved.eml +22 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/original-message-marker.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/original-message-marker.eml +17 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/outlook-chain.cleaned.txt +4 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/outlook-chain.eml +21 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/wrapped-attribution.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/reply/wrapped-attribution.eml +14 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/orphan-reply.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/orphan-reply.eml +9 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t1-1.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t1-1.eml +9 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t1-2.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t1-2.eml +11 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t1-3.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t1-3.eml +11 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t1-4.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t1-4.eml +11 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t2-1.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t2-1.eml +9 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t2-2.cleaned.txt +1 -0
- oaken-0.1.0/src/oaken/mail/tests/fixtures/threads/t2-2.eml +11 -0
- oaken-0.1.0/src/oaken/mail/tests/sieve_helpers.py +46 -0
- oaken-0.1.0/src/oaken/mail/tests/test_attachments.py +38 -0
- oaken-0.1.0/src/oaken/mail/tests/test_chunk.py +130 -0
- oaken-0.1.0/src/oaken/mail/tests/test_clean.py +288 -0
- oaken-0.1.0/src/oaken/mail/tests/test_filtering.py +296 -0
- oaken-0.1.0/src/oaken/mail/tests/test_fixtures.py +67 -0
- oaken-0.1.0/src/oaken/mail/tests/test_fuzz.py +51 -0
- oaken-0.1.0/src/oaken/mail/tests/test_html.py +82 -0
- oaken-0.1.0/src/oaken/mail/tests/test_mailbox.py +156 -0
- oaken-0.1.0/src/oaken/mail/tests/test_parse.py +271 -0
- oaken-0.1.0/src/oaken/mail/tests/test_sieve_parser.py +144 -0
- oaken-0.1.0/src/oaken/mail/tests/test_sieve_rfc.py +108 -0
- oaken-0.1.0/src/oaken/mail/tests/test_sieve_run.py +311 -0
- oaken-0.1.0/src/oaken/mail/tests/test_sieve_safety.py +174 -0
- oaken-0.1.0/src/oaken/mail/tests/test_thread_tree.py +70 -0
- oaken-0.1.0/src/oaken/mail/tests/test_threading.py +88 -0
- oaken-0.1.0/src/oaken/mail/tests/test_tokens.py +71 -0
- oaken-0.1.0/src/oaken/mail/thread_tree.py +83 -0
- oaken-0.1.0/src/oaken/mail/threading.py +92 -0
- oaken-0.1.0/src/oaken/mail/tokens.py +69 -0
- oaken-0.1.0/src/oaken/plugins/__init__.py +4 -0
- oaken-0.1.0/src/oaken/plugins/accounts.py +78 -0
- oaken-0.1.0/src/oaken/plugins/adapt.py +153 -0
- oaken-0.1.0/src/oaken/plugins/authorize.py +90 -0
- oaken-0.1.0/src/oaken/plugins/base.py +211 -0
- oaken-0.1.0/src/oaken/plugins/contracts.py +593 -0
- oaken-0.1.0/src/oaken/plugins/host.py +581 -0
- oaken-0.1.0/src/oaken/plugins/jobs.py +105 -0
- oaken-0.1.0/src/oaken/plugins/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/plugins/tests/conftest.py +35 -0
- oaken-0.1.0/src/oaken/plugins/tests/contract_snapshot.json +342 -0
- oaken-0.1.0/src/oaken/plugins/tests/test_account_names.py +59 -0
- oaken-0.1.0/src/oaken/plugins/tests/test_accounts.py +133 -0
- oaken-0.1.0/src/oaken/plugins/tests/test_adapt.py +179 -0
- oaken-0.1.0/src/oaken/plugins/tests/test_config_validation.py +111 -0
- oaken-0.1.0/src/oaken/plugins/tests/test_contract_snapshot.py +139 -0
- oaken-0.1.0/src/oaken/plugins/tests/test_host.py +394 -0
- oaken-0.1.0/src/oaken/plugins/tests/test_plugin_events.py +184 -0
- oaken-0.1.0/src/oaken/plugins/tests/test_plugin_jobs.py +106 -0
- oaken-0.1.0/src/oaken/plugins/tests/test_plugin_operations.py +145 -0
- oaken-0.1.0/src/oaken/plugins/tests/test_plugin_schedules.py +108 -0
- oaken-0.1.0/src/oaken/plugins/validate.py +268 -0
- oaken-0.1.0/src/oaken/py.typed +0 -0
- oaken-0.1.0/src/oaken/readstate/__init__.py +25 -0
- oaken-0.1.0/src/oaken/readstate/audit.py +116 -0
- oaken-0.1.0/src/oaken/readstate/service.py +544 -0
- oaken-0.1.0/src/oaken/readstate/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/readstate/tests/conftest.py +133 -0
- oaken-0.1.0/src/oaken/readstate/tests/test_policy.py +128 -0
- oaken-0.1.0/src/oaken/readstate/tests/test_presented.py +74 -0
- oaken-0.1.0/src/oaken/readstate/tests/test_undo.py +97 -0
- oaken-0.1.0/src/oaken/readstate/tests/test_writeback.py +179 -0
- oaken-0.1.0/src/oaken/testing/__init__.py +3 -0
- oaken-0.1.0/src/oaken/testing/contracts.py +550 -0
- oaken-0.1.0/src/oaken/testing/corpus.py +43 -0
- oaken-0.1.0/src/oaken/testing/fakes.py +375 -0
- oaken-0.1.0/src/oaken/testing/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken/testing/tests/test_contracts.py +210 -0
- oaken-0.1.0/src/oaken/testing/tests/test_extension_contracts.py +109 -0
- oaken-0.1.0/src/oaken_enrichers/__init__.py +14 -0
- oaken-0.1.0/src/oaken_enrichers/_common.py +78 -0
- oaken-0.1.0/src/oaken_enrichers/actions.py +156 -0
- oaken-0.1.0/src/oaken_enrichers/inspector.py +192 -0
- oaken-0.1.0/src/oaken_enrichers/summary.py +89 -0
- oaken-0.1.0/src/oaken_enrichers/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken_enrichers/tests/conftest.py +128 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/actions/injection.json +25 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/actions/invented-task-is-dropped.json +24 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/actions/nothing-asked.json +17 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/actions/task-with-deadline.json +30 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/inspector/clean.json +26 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/inspector/dmarc-fail-reply-to.json +27 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/inspector/risky-attachment.json +23 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/summary/injection.json +26 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/summary/invoice.json +27 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/summary/reply-with-parent.json +26 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/summary/reschedule.json +33 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/triage/colleague-asks.json +30 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/triage/family.json +25 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/triage/injection.json +28 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/triage/mailing-list.json +20 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/triage/no-reply.json +15 -0
- oaken-0.1.0/src/oaken_enrichers/tests/evals/triage/receipt.json +26 -0
- oaken-0.1.0/src/oaken_enrichers/tests/test_actions.py +116 -0
- oaken-0.1.0/src/oaken_enrichers/tests/test_evals.py +72 -0
- oaken-0.1.0/src/oaken_enrichers/tests/test_injection.py +85 -0
- oaken-0.1.0/src/oaken_enrichers/tests/test_inspector.py +179 -0
- oaken-0.1.0/src/oaken_enrichers/tests/test_pipeline.py +180 -0
- oaken-0.1.0/src/oaken_enrichers/tests/test_summary.py +98 -0
- oaken-0.1.0/src/oaken_enrichers/tests/test_triage.py +90 -0
- oaken-0.1.0/src/oaken_enrichers/triage.py +127 -0
- oaken-0.1.0/src/oaken_gmail/__init__.py +28 -0
- oaken-0.1.0/src/oaken_gmail/api.py +117 -0
- oaken-0.1.0/src/oaken_gmail/config.py +37 -0
- oaken-0.1.0/src/oaken_gmail/oauth.py +159 -0
- oaken-0.1.0/src/oaken_gmail/provider.py +582 -0
- oaken-0.1.0/src/oaken_gmail/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken_gmail/tests/conftest.py +353 -0
- oaken-0.1.0/src/oaken_gmail/tests/test_contract.py +34 -0
- oaken-0.1.0/src/oaken_gmail/tests/test_live.py +35 -0
- oaken-0.1.0/src/oaken_gmail/tests/test_oauth.py +236 -0
- oaken-0.1.0/src/oaken_gmail/tests/test_sync.py +325 -0
- oaken-0.1.0/src/oaken_gmail/tests/test_tokens.py +199 -0
- oaken-0.1.0/src/oaken_gmail/tests/test_write.py +156 -0
- oaken-0.1.0/src/oaken_gmail/tokens.py +227 -0
- oaken-0.1.0/src/oaken_imap/__init__.py +31 -0
- oaken-0.1.0/src/oaken_imap/config.py +42 -0
- oaken-0.1.0/src/oaken_imap/cursor.py +78 -0
- oaken-0.1.0/src/oaken_imap/folders.py +58 -0
- oaken-0.1.0/src/oaken_imap/password.py +51 -0
- oaken-0.1.0/src/oaken_imap/provider.py +404 -0
- oaken-0.1.0/src/oaken_imap/session.py +280 -0
- oaken-0.1.0/src/oaken_imap/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken_imap/tests/conftest.py +93 -0
- oaken-0.1.0/src/oaken_imap/tests/fake_server.py +458 -0
- oaken-0.1.0/src/oaken_imap/tests/test_contract.py +54 -0
- oaken-0.1.0/src/oaken_imap/tests/test_live.py +55 -0
- oaken-0.1.0/src/oaken_imap/tests/test_parse.py +145 -0
- oaken-0.1.0/src/oaken_imap/tests/test_security.py +123 -0
- oaken-0.1.0/src/oaken_imap/tests/test_sync.py +207 -0
- oaken-0.1.0/src/oaken_imap/tests/test_write.py +134 -0
- oaken-0.1.0/src/oaken_imap/uidset.py +36 -0
- oaken-0.1.0/src/oaken_ollama/__init__.py +14 -0
- oaken-0.1.0/src/oaken_ollama/client.py +196 -0
- oaken-0.1.0/src/oaken_ollama/embedder.py +55 -0
- oaken-0.1.0/src/oaken_ollama/llm.py +76 -0
- oaken-0.1.0/src/oaken_ollama/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken_ollama/tests/conftest.py +103 -0
- oaken-0.1.0/src/oaken_ollama/tests/fixtures/chat_json.json +7 -0
- oaken-0.1.0/src/oaken_ollama/tests/fixtures/chat_text.json +7 -0
- oaken-0.1.0/src/oaken_ollama/tests/fixtures/show_embed.json +5 -0
- oaken-0.1.0/src/oaken_ollama/tests/fixtures/show_llm.json +5 -0
- oaken-0.1.0/src/oaken_ollama/tests/fixtures/tags.json +8 -0
- oaken-0.1.0/src/oaken_ollama/tests/test_live.py +36 -0
- oaken-0.1.0/src/oaken_ollama/tests/test_ollama.py +273 -0
- oaken-0.1.0/src/oaken_smtp/__init__.py +27 -0
- oaken-0.1.0/src/oaken_smtp/config.py +39 -0
- oaken-0.1.0/src/oaken_smtp/message.py +87 -0
- oaken-0.1.0/src/oaken_smtp/password.py +51 -0
- oaken-0.1.0/src/oaken_smtp/provider.py +243 -0
- oaken-0.1.0/src/oaken_smtp/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken_smtp/tests/conftest.py +235 -0
- oaken-0.1.0/src/oaken_smtp/tests/test_config.py +97 -0
- oaken-0.1.0/src/oaken_smtp/tests/test_contract.py +38 -0
- oaken-0.1.0/src/oaken_smtp/tests/test_live.py +40 -0
- oaken-0.1.0/src/oaken_smtp/tests/test_message.py +64 -0
- oaken-0.1.0/src/oaken_smtp/tests/test_send.py +188 -0
- oaken-0.1.0/src/oaken_vec_sqlite/__init__.py +10 -0
- oaken-0.1.0/src/oaken_vec_sqlite/store.py +565 -0
- oaken-0.1.0/src/oaken_vec_sqlite/tests/__init__.py +1 -0
- oaken-0.1.0/src/oaken_vec_sqlite/tests/conftest.py +18 -0
- oaken-0.1.0/src/oaken_vec_sqlite/tests/test_benchmark.py +74 -0
- oaken-0.1.0/src/oaken_vec_sqlite/tests/test_contract.py +18 -0
- oaken-0.1.0/src/oaken_vec_sqlite/tests/test_store.py +419 -0
- oaken-0.1.0/tests/__init__.py +1 -0
- oaken-0.1.0/tests/test_import_boundaries.py +42 -0
- oaken-0.1.0/tests/test_repo_hygiene.py +59 -0
- oaken-0.1.0/tests/test_version_lockstep.py +43 -0
- oaken-0.1.0/uv.lock +2685 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
test:
|
|
13
|
+
strategy:
|
|
14
|
+
fail-fast: false
|
|
15
|
+
matrix:
|
|
16
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
17
|
+
python: ["3.11", "3.12"]
|
|
18
|
+
runs-on: ${{ matrix.os }}
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v4
|
|
21
|
+
- uses: astral-sh/setup-uv@v5
|
|
22
|
+
- run: uv python install ${{ matrix.python }}
|
|
23
|
+
- run: uv sync --python ${{ matrix.python }}
|
|
24
|
+
- run: uv run ruff check
|
|
25
|
+
- run: uv run ruff format --check
|
|
26
|
+
- run: uv run mypy
|
|
27
|
+
- run: uv run lint-imports
|
|
28
|
+
- run: uv run pytest
|
|
29
|
+
|
|
30
|
+
secrets:
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
steps:
|
|
33
|
+
- uses: actions/checkout@v4
|
|
34
|
+
- uses: astral-sh/setup-uv@v5
|
|
35
|
+
- run: uv sync
|
|
36
|
+
- name: detect-secrets
|
|
37
|
+
shell: bash
|
|
38
|
+
run: |
|
|
39
|
+
# generated site HTML carries SRI hashes, which look like secrets
|
|
40
|
+
git ls-files -z | grep -zvE '^docs/(.*\.html|sitemap\.xml)$' \
|
|
41
|
+
| xargs -0 uv run detect-secrets-hook --baseline .secrets.baseline
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name: Docs check
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
branches: [main]
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
check:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
16
|
+
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
|
17
|
+
- run: uv sync
|
|
18
|
+
- run: uv run --group docs python docs/tools/check_docs.py
|
oaken-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[codz]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
share/python-wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
MANIFEST
|
|
28
|
+
|
|
29
|
+
# PyInstaller
|
|
30
|
+
# Usually these files are written by a python script from a template
|
|
31
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
32
|
+
*.manifest
|
|
33
|
+
*.spec
|
|
34
|
+
|
|
35
|
+
# Installer logs
|
|
36
|
+
pip-log.txt
|
|
37
|
+
pip-delete-this-directory.txt
|
|
38
|
+
|
|
39
|
+
# Unit test / coverage reports
|
|
40
|
+
htmlcov/
|
|
41
|
+
.tox/
|
|
42
|
+
.nox/
|
|
43
|
+
.coverage
|
|
44
|
+
.coverage.*
|
|
45
|
+
.cache
|
|
46
|
+
nosetests.xml
|
|
47
|
+
coverage.xml
|
|
48
|
+
*.cover
|
|
49
|
+
*.py.cover
|
|
50
|
+
*.lcov
|
|
51
|
+
.hypothesis/
|
|
52
|
+
.pytest_cache/
|
|
53
|
+
cover/
|
|
54
|
+
|
|
55
|
+
# Translations
|
|
56
|
+
*.mo
|
|
57
|
+
*.pot
|
|
58
|
+
|
|
59
|
+
# Django stuff:
|
|
60
|
+
*.log
|
|
61
|
+
local_settings.py
|
|
62
|
+
db.sqlite3
|
|
63
|
+
db.sqlite3-journal
|
|
64
|
+
|
|
65
|
+
# Flask stuff:
|
|
66
|
+
instance/
|
|
67
|
+
.webassets-cache
|
|
68
|
+
|
|
69
|
+
# Scrapy stuff:
|
|
70
|
+
.scrapy
|
|
71
|
+
|
|
72
|
+
# Sphinx documentation
|
|
73
|
+
docs/_build/
|
|
74
|
+
|
|
75
|
+
# PyBuilder
|
|
76
|
+
.pybuilder/
|
|
77
|
+
target/
|
|
78
|
+
|
|
79
|
+
# Jupyter Notebook
|
|
80
|
+
.ipynb_checkpoints
|
|
81
|
+
|
|
82
|
+
# IPython
|
|
83
|
+
profile_default/
|
|
84
|
+
ipython_config.py
|
|
85
|
+
|
|
86
|
+
# pyenv
|
|
87
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
88
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
89
|
+
# .python-version
|
|
90
|
+
|
|
91
|
+
# pipenv
|
|
92
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
93
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
94
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
95
|
+
# install all needed dependencies.
|
|
96
|
+
# Pipfile.lock
|
|
97
|
+
|
|
98
|
+
# uv
|
|
99
|
+
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
|
|
100
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
101
|
+
# commonly ignored for libraries.
|
|
102
|
+
# uv.lock
|
|
103
|
+
|
|
104
|
+
# poetry
|
|
105
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
106
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
107
|
+
# commonly ignored for libraries.
|
|
108
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
109
|
+
# poetry.lock
|
|
110
|
+
# poetry.toml
|
|
111
|
+
|
|
112
|
+
# pdm
|
|
113
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
114
|
+
# pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
|
|
115
|
+
# https://pdm-project.org/en/latest/usage/project/#working-with-version-control
|
|
116
|
+
# pdm.lock
|
|
117
|
+
# pdm.toml
|
|
118
|
+
.pdm-python
|
|
119
|
+
.pdm-build/
|
|
120
|
+
|
|
121
|
+
# pixi
|
|
122
|
+
# Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
|
|
123
|
+
# pixi.lock
|
|
124
|
+
# Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
|
|
125
|
+
# in the .venv directory. It is recommended not to include this directory in version control.
|
|
126
|
+
.pixi/*
|
|
127
|
+
!.pixi/config.toml
|
|
128
|
+
|
|
129
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
130
|
+
__pypackages__/
|
|
131
|
+
|
|
132
|
+
# Celery stuff
|
|
133
|
+
celerybeat-schedule*
|
|
134
|
+
celerybeat.pid
|
|
135
|
+
|
|
136
|
+
# Redis
|
|
137
|
+
*.rdb
|
|
138
|
+
*.aof
|
|
139
|
+
*.pid
|
|
140
|
+
|
|
141
|
+
# RabbitMQ
|
|
142
|
+
mnesia/
|
|
143
|
+
rabbitmq/
|
|
144
|
+
rabbitmq-data/
|
|
145
|
+
|
|
146
|
+
# ActiveMQ
|
|
147
|
+
activemq-data/
|
|
148
|
+
|
|
149
|
+
# SageMath parsed files
|
|
150
|
+
*.sage.py
|
|
151
|
+
|
|
152
|
+
# Environments
|
|
153
|
+
.env
|
|
154
|
+
.envrc
|
|
155
|
+
.venv
|
|
156
|
+
env/
|
|
157
|
+
venv/
|
|
158
|
+
ENV/
|
|
159
|
+
env.bak/
|
|
160
|
+
venv.bak/
|
|
161
|
+
|
|
162
|
+
# Spyder project settings
|
|
163
|
+
.spyderproject
|
|
164
|
+
.spyproject
|
|
165
|
+
|
|
166
|
+
# Rope project settings
|
|
167
|
+
.ropeproject
|
|
168
|
+
|
|
169
|
+
# mkdocs/Zensical documentation
|
|
170
|
+
/site
|
|
171
|
+
|
|
172
|
+
# mypy
|
|
173
|
+
.mypy_cache/
|
|
174
|
+
.dmypy.json
|
|
175
|
+
dmypy.json
|
|
176
|
+
|
|
177
|
+
# Pyre type checker
|
|
178
|
+
.pyre/
|
|
179
|
+
|
|
180
|
+
# pytype static type analyzer
|
|
181
|
+
.pytype/
|
|
182
|
+
|
|
183
|
+
# Cython debug symbols
|
|
184
|
+
cython_debug/
|
|
185
|
+
|
|
186
|
+
# PyCharm
|
|
187
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
188
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
189
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
190
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
191
|
+
# .idea/
|
|
192
|
+
|
|
193
|
+
# Abstra
|
|
194
|
+
# Abstra is an AI-powered process automation framework.
|
|
195
|
+
# Ignore directories containing user credentials, local state, and settings.
|
|
196
|
+
# Learn more at https://abstra.io/docs
|
|
197
|
+
.abstra/
|
|
198
|
+
|
|
199
|
+
# Visual Studio Code
|
|
200
|
+
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore that
|
|
201
|
+
# can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
|
|
202
|
+
# and can be added to the global gitignore or merged into this file. However, if you prefer, you
|
|
203
|
+
# could uncomment the following to ignore the entire vscode folder
|
|
204
|
+
# .vscode/
|
|
205
|
+
# Temporary file for partial code execution
|
|
206
|
+
tempCodeRunnerFile.py
|
|
207
|
+
|
|
208
|
+
# Ruff stuff:
|
|
209
|
+
.ruff_cache/
|
|
210
|
+
|
|
211
|
+
# PyPI configuration file
|
|
212
|
+
.pypirc
|
|
213
|
+
|
|
214
|
+
# Marimo
|
|
215
|
+
marimo/_static/
|
|
216
|
+
marimo/_lsp/
|
|
217
|
+
__marimo__/
|
|
218
|
+
|
|
219
|
+
# Streamlit
|
|
220
|
+
.streamlit/secrets.toml
|
|
221
|
+
|
|
222
|
+
# --- Oaken Mail: never commit data, mail or secrets ---
|
|
223
|
+
*.db
|
|
224
|
+
*.db-*
|
|
225
|
+
*.sqlite*
|
|
226
|
+
*.eml
|
|
227
|
+
*.mbox
|
|
228
|
+
.env.*
|
|
229
|
+
!.env.example
|
|
230
|
+
token*.json
|
|
231
|
+
credentials*.json
|
|
232
|
+
client_secret*.json
|
|
233
|
+
node_modules/
|
|
234
|
+
site/
|
|
235
|
+
.claude/settings.local.json
|
|
236
|
+
|
|
237
|
+
# Synthetic test fixtures are committed (no real mail; see docs/architecture/parsing.md).
|
|
238
|
+
!src/oaken/mail/tests/fixtures/**/*.eml
|
|
239
|
+
|
|
240
|
+
# A real config.toml holds local settings and must never be committed (use config.example.toml).
|
|
241
|
+
config.toml
|