sqlrite 0.10.0__tar.gz → 0.10.2__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.
- {sqlrite-0.10.0 → sqlrite-0.10.2}/.github/workflows/ci.yml +87 -1
- sqlrite-0.10.2/.github/workflows/journal-release.yml +103 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/.github/workflows/release-pr.yml +9 -7
- {sqlrite-0.10.0 → sqlrite-0.10.2}/.github/workflows/release.yml +130 -1
- {sqlrite-0.10.0 → sqlrite-0.10.2}/.gitignore +9 -0
- sqlrite-0.10.2/AGENTS.md +102 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/Cargo.lock +20 -7
- {sqlrite-0.10.0 → sqlrite-0.10.2}/Cargo.toml +2 -2
- {sqlrite-0.10.0 → sqlrite-0.10.2}/PKG-INFO +1 -1
- {sqlrite-0.10.0 → sqlrite-0.10.2}/README.md +10 -0
- sqlrite-0.10.2/desktop/README.md +52 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/desktop/package-lock.json +2 -2
- {sqlrite-0.10.0 → sqlrite-0.10.2}/desktop/package.json +1 -1
- {sqlrite-0.10.0 → sqlrite-0.10.2}/desktop/src/App.svelte +19 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/desktop/src/app.css +9 -0
- sqlrite-0.10.2/desktop/src/lib/SettingsPanel.svelte +327 -0
- sqlrite-0.10.2/desktop/src/lib/api.ts +45 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/release-plan.md +74 -4
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/release-secrets.md +58 -9
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/sql-engine.md +1 -1
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/README.md +30 -0
- sqlrite-0.10.2/examples/desktop-journal/.gitignore +9 -0
- sqlrite-0.10.2/examples/desktop-journal/README.md +231 -0
- sqlrite-0.10.2/examples/desktop-journal/demo/.gitignore +9 -0
- sqlrite-0.10.2/examples/desktop-journal/demo/README.md +57 -0
- sqlrite-0.10.2/examples/desktop-journal/demo/package-lock.json +2943 -0
- sqlrite-0.10.2/examples/desktop-journal/demo/package.json +26 -0
- sqlrite-0.10.2/examples/desktop-journal/demo/remotion.config.ts +9 -0
- sqlrite-0.10.2/examples/desktop-journal/demo/src/Caption.tsx +62 -0
- sqlrite-0.10.2/examples/desktop-journal/demo/src/Demo.tsx +120 -0
- sqlrite-0.10.2/examples/desktop-journal/demo/src/Pan.tsx +74 -0
- sqlrite-0.10.2/examples/desktop-journal/demo/src/Root.tsx +21 -0
- sqlrite-0.10.2/examples/desktop-journal/demo/src/index.ts +7 -0
- sqlrite-0.10.2/examples/desktop-journal/demo/tsconfig.json +15 -0
- sqlrite-0.10.2/examples/desktop-journal/docs/demo.gif +0 -0
- sqlrite-0.10.2/examples/desktop-journal/docs/demo.mp4 +0 -0
- sqlrite-0.10.2/examples/desktop-journal/docs/screenshots/01-empty.png +0 -0
- sqlrite-0.10.2/examples/desktop-journal/docs/screenshots/02-new-entry.png +0 -0
- sqlrite-0.10.2/examples/desktop-journal/docs/screenshots/03-markdown-preview.png +0 -0
- sqlrite-0.10.2/examples/desktop-journal/docs/screenshots/04-list-and-tags.png +0 -0
- sqlrite-0.10.2/examples/desktop-journal/docs/screenshots/05-fts-highlight.png +0 -0
- sqlrite-0.10.2/examples/desktop-journal/docs/screenshots/06-settings.png +0 -0
- sqlrite-0.10.2/examples/desktop-journal/docs/screenshots/07-ask-panel.png +0 -0
- sqlrite-0.10.2/examples/desktop-journal/index.html +12 -0
- sqlrite-0.10.2/examples/desktop-journal/package-lock.json +2298 -0
- sqlrite-0.10.2/examples/desktop-journal/package.json +30 -0
- sqlrite-0.10.2/examples/desktop-journal/src/App.svelte +317 -0
- sqlrite-0.10.2/examples/desktop-journal/src/app.css +123 -0
- sqlrite-0.10.2/examples/desktop-journal/src/lib/AskPanel.svelte +137 -0
- sqlrite-0.10.2/examples/desktop-journal/src/lib/EntryEditor.svelte +172 -0
- sqlrite-0.10.2/examples/desktop-journal/src/lib/EntryList.svelte +66 -0
- sqlrite-0.10.2/examples/desktop-journal/src/lib/SettingsPanel.svelte +171 -0
- sqlrite-0.10.2/examples/desktop-journal/src/lib/api.ts +134 -0
- sqlrite-0.10.2/examples/desktop-journal/src/main.ts +11 -0
- sqlrite-0.10.2/examples/desktop-journal/src/vite-env.d.ts +2 -0
- sqlrite-0.10.2/examples/desktop-journal/svelte.config.js +5 -0
- sqlrite-0.10.2/examples/desktop-journal/tsconfig.json +17 -0
- sqlrite-0.10.2/examples/desktop-journal/vite.config.ts +30 -0
- sqlrite-0.10.2/examples/nodejs-notes/.gitignore +6 -0
- sqlrite-0.10.2/examples/nodejs-notes/README.md +340 -0
- sqlrite-0.10.2/examples/nodejs-notes/bin/sqlrite-notes.mjs +15 -0
- sqlrite-0.10.2/examples/nodejs-notes/package-lock.json +31 -0
- sqlrite-0.10.2/examples/nodejs-notes/package.json +46 -0
- sqlrite-0.10.2/examples/nodejs-notes/src/chunker.mjs +191 -0
- sqlrite-0.10.2/examples/nodejs-notes/src/claude-config.mjs +65 -0
- sqlrite-0.10.2/examples/nodejs-notes/src/cli.mjs +357 -0
- sqlrite-0.10.2/examples/nodejs-notes/src/config.mjs +71 -0
- sqlrite-0.10.2/examples/nodejs-notes/src/db.mjs +400 -0
- sqlrite-0.10.2/examples/nodejs-notes/src/embeddings.mjs +152 -0
- sqlrite-0.10.2/examples/nodejs-notes/src/ingest.mjs +235 -0
- sqlrite-0.10.2/examples/nodejs-notes/src/search.mjs +51 -0
- sqlrite-0.10.2/examples/nodejs-notes/src/serve.mjs +113 -0
- sqlrite-0.10.2/examples/nodejs-notes/src/sqlutil.mjs +63 -0
- sqlrite-0.10.2/examples/nodejs-notes/test/chunker.test.mjs +85 -0
- sqlrite-0.10.2/examples/nodejs-notes/test/claude-config.test.mjs +36 -0
- sqlrite-0.10.2/examples/nodejs-notes/test/db.test.mjs +272 -0
- sqlrite-0.10.2/examples/nodejs-notes/test/embeddings.test.mjs +104 -0
- sqlrite-0.10.2/examples/nodejs-notes/test/fixtures/crdts.md +23 -0
- sqlrite-0.10.2/examples/nodejs-notes/test/fixtures/postgres.md +18 -0
- sqlrite-0.10.2/examples/nodejs-notes/test/fixtures/running.md +8 -0
- sqlrite-0.10.2/examples/nodejs-notes/test/ingest.test.mjs +131 -0
- sqlrite-0.10.2/examples/nodejs-notes/test/serve.test.mjs +38 -0
- sqlrite-0.10.2/examples/nodejs-notes/test/sqlutil.test.mjs +47 -0
- sqlrite-0.10.2/examples/python-agent/.gitignore +12 -0
- sqlrite-0.10.2/examples/python-agent/README.md +275 -0
- sqlrite-0.10.2/examples/python-agent/pyproject.toml +55 -0
- sqlrite-0.10.2/examples/python-agent/sqlrite_agent/__init__.py +4 -0
- sqlrite-0.10.2/examples/python-agent/sqlrite_agent/__main__.py +4 -0
- sqlrite-0.10.2/examples/python-agent/sqlrite_agent/agent.py +163 -0
- sqlrite-0.10.2/examples/python-agent/sqlrite_agent/chat.py +113 -0
- sqlrite-0.10.2/examples/python-agent/sqlrite_agent/cli.py +194 -0
- sqlrite-0.10.2/examples/python-agent/sqlrite_agent/db.py +349 -0
- sqlrite-0.10.2/examples/python-agent/sqlrite_agent/embeddings.py +141 -0
- sqlrite-0.10.2/examples/python-agent/sqlrite_agent/facts.py +137 -0
- sqlrite-0.10.2/examples/python-agent/sqlrite_agent/memory.py +216 -0
- sqlrite-0.10.2/examples/python-agent/sqlrite_agent/sqlutil.py +39 -0
- sqlrite-0.10.2/examples/python-agent/tests/conftest.py +38 -0
- sqlrite-0.10.2/examples/python-agent/tests/test_agent.py +100 -0
- sqlrite-0.10.2/examples/python-agent/tests/test_db.py +172 -0
- sqlrite-0.10.2/examples/python-agent/tests/test_facts.py +57 -0
- sqlrite-0.10.2/examples/python-agent/tests/test_memory.py +85 -0
- sqlrite-0.10.2/examples/python-agent/tests/test_sqlutil.py +28 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/pyproject.toml +1 -1
- {sqlrite-0.10.0 → sqlrite-0.10.2}/scripts/bump-version.sh +55 -6
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/python/Cargo.toml +1 -1
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sqlrite-ask/Cargo.toml +1 -1
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/db/table.rs +48 -3
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/executor.rs +10 -7
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/hnsw.rs +96 -45
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/mod.rs +55 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/mod.rs +4 -48
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/README.md +50 -1
- sqlrite-0.10.2/web/content/blog/shipping-concurrent-writes-mvcc-v010.mdx +395 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/package-lock.json +500 -2
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/package.json +1 -0
- sqlrite-0.10.2/web/seo/keywords.md +161 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/docs/page.tsx +23 -8
- sqlrite-0.10.2/web/src/app/examples/page.tsx +335 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/layout.tsx +29 -11
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/page.tsx +5 -2
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/sitemap.ts +1 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/benchmarks.tsx +7 -6
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/features.tsx +15 -8
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/hero.tsx +8 -8
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/nav.tsx +8 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/roadmap.tsx +23 -6
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/lib/site.ts +1 -1
- sqlrite-0.10.2/web/src/middleware.ts +31 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/.github/workflows/rust.yml +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/CLAUDE.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/CODE_OF_CONDUCT.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/LICENSE +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/MAINTAINERS +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/Makefile +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/desktop/index.html +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/desktop/src/main.ts +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/desktop/src/vite-env.d.ts +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/desktop/svelte.config.js +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/desktop/tsconfig.json +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/desktop/vite.config.ts +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/_index.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/architecture.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/ask-backend-examples.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/ask.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/benchmarks-plan.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/benchmarks.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/concurrent-writes-plan.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/concurrent-writes.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/design-decisions.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/desktop.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/embedding.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/file-format.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/fts.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/getting-started.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/mcp.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/pager.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/phase-7-plan.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/phase-8-plan.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/roadmap.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/smoke-test.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/storage-model.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/supported-sql.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/docs/usage.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/c/Makefile +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/c/hello.c +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/go/go.mod +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/go/hello.go +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/hybrid-retrieval/README.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/hybrid-retrieval/hybrid_retrieval.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/nodejs/hello.mjs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/python/hello.py +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/rust/concurrent_writers.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/rust/quickstart.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/wasm/Makefile +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/wasm/index.html +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/examples/wasm/server.mjs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/images/SQLRite - Desktop.png +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/images/SQLRite Data Structures.png +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/images/SQLRite Simple SQL Execution High Level Diagram.png +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/images/SQLRite Simple SQL INSERT Execution High Level Diagram (Insert Row).png +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/images/SQLRite Simple SQL INSERT Execution High Level Diagram.png +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/images/SQLRite_logo.png +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/images/architecture.png +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/rust-toolchain.toml +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/samples/AST.delete.example +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/samples/AST.insert.exemple +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/samples/AST.select.example +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/samples/AST.update.example +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/samples/CREATE TABLE sqlrite_schema.sql +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/samples/CREATE_TABLE with duplicate.sql +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/samples/CREATE_TABLE.sql +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/samples/INSERT.sql +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/go/README.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/go/ask.go +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/go/ask_test.go +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/go/conn.go +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/go/go.mod +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/go/rows.go +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/go/sqlrite.go +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/go/sqlrite_test.go +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/go/stmt.go +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/python/README.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/python/src/lib.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/python/tests/test_ask.py +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sdk/python/tests/test_sqlrite.py +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sqlrite-ask/README.md +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sqlrite-ask/src/lib.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sqlrite-ask/src/prompt.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sqlrite-ask/src/provider/anthropic.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sqlrite-ask/src/provider/mock.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sqlrite-ask/src/provider/mod.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/sqlrite-ask/tests/anthropic_http.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/ask/mod.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/ask/schema.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/connection.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/error.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/lib.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/main.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/meta_command/mod.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/mvcc/clock.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/mvcc/log.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/mvcc/mod.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/mvcc/registry.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/mvcc/store.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/mvcc/transaction.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/repl/mod.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/agg.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/db/database.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/db/mod.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/db/secondary_index.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/dialect.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/fts/bm25.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/fts/mod.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/fts/posting_list.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/fts/tokenizer.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/allocator.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/cell.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/file.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/freelist.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/fts_cell.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/header.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/hnsw_cell.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/index_cell.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/interior_page.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/overflow.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/page.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/pager.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/table_page.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/varint.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pager/wal.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/params.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/parser/create.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/parser/insert.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/parser/mod.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/parser/select.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/pragma.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/src/sql/tokenizer.rs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/.gitignore +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/components.json +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/content/blog/adding-vector-search-with-hnsw.mdx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/content/blog/how-sqlrite-stores-rows-on-disk.mdx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/content/blog/shipping-sqlrite-tauri-mcp-sdks.mdx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/content/blog/sqlrite-vs-sqlite-benchmarks.mdx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/content/blog/why-im-building-sqlrite.mdx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/eslint.config.mjs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/next.config.ts +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/postcss.config.mjs +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/blog/[slug]/opengraph-image.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/blog/[slug]/page.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/blog/[slug]/twitter-image.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/blog/page.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/blog/rss.xml/route.ts +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/blog/tags/[tag]/page.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/docs/opengraph-image.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/docs/twitter-image.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/globals.css +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/opengraph-image.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/robots.ts +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/app/twitter-image.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/architecture.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/blog-mdx.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/blog.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/cta-strip.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/desktop.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/footer.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/icons.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/install-bar.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/sdk-showcase-client.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/sdk-showcase.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/sql-ref.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/components/terminal.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/lib/benchmarks.ts +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/lib/blog.ts +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/lib/highlight.ts +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/lib/og.tsx +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/src/lib/utils.ts +0 -0
- {sqlrite-0.10.0 → sqlrite-0.10.2}/web/tsconfig.json +0 -0
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
# - go-sdk {ubuntu, macos} cgo against libsqlrite_c + go test
|
|
11
11
|
# - wasm-build ubuntu wasm-pack build + size report
|
|
12
12
|
# - desktop-build ubuntu npm ci + cargo build -p sqlrite-desktop
|
|
13
|
+
# - journal-build ubuntu npm ci + cargo build -p sqlrite-journal (SQLR-41 example)
|
|
13
14
|
#
|
|
14
15
|
# All jobs use caching so a warm PR run takes 2–3 minutes on ubuntu.
|
|
15
16
|
# Go CI skips Windows for Phase 6b — Go's cgo on Windows needs a mingw
|
|
@@ -102,6 +103,7 @@ jobs:
|
|
|
102
103
|
run: |
|
|
103
104
|
cargo build --workspace \
|
|
104
105
|
--exclude sqlrite-desktop \
|
|
106
|
+
--exclude sqlrite-journal \
|
|
105
107
|
--exclude sqlrite-python \
|
|
106
108
|
--exclude sqlrite-nodejs \
|
|
107
109
|
--exclude sqlrite-benchmarks \
|
|
@@ -111,6 +113,7 @@ jobs:
|
|
|
111
113
|
run: |
|
|
112
114
|
cargo test --workspace \
|
|
113
115
|
--exclude sqlrite-desktop \
|
|
116
|
+
--exclude sqlrite-journal \
|
|
114
117
|
--exclude sqlrite-python \
|
|
115
118
|
--exclude sqlrite-nodejs \
|
|
116
119
|
--exclude sqlrite-benchmarks
|
|
@@ -147,6 +150,7 @@ jobs:
|
|
|
147
150
|
run: |
|
|
148
151
|
cargo clippy --workspace \
|
|
149
152
|
--exclude sqlrite-desktop \
|
|
153
|
+
--exclude sqlrite-journal \
|
|
150
154
|
--exclude sqlrite-python \
|
|
151
155
|
--exclude sqlrite-nodejs \
|
|
152
156
|
--exclude sqlrite-benchmarks \
|
|
@@ -158,6 +162,7 @@ jobs:
|
|
|
158
162
|
run: |
|
|
159
163
|
cargo doc --workspace \
|
|
160
164
|
--exclude sqlrite-desktop \
|
|
165
|
+
--exclude sqlrite-journal \
|
|
161
166
|
--exclude sqlrite-python \
|
|
162
167
|
--exclude sqlrite-nodejs \
|
|
163
168
|
--exclude sqlrite-benchmarks \
|
|
@@ -299,6 +304,15 @@ jobs:
|
|
|
299
304
|
wasm-build:
|
|
300
305
|
name: wasm-build
|
|
301
306
|
runs-on: ubuntu-latest
|
|
307
|
+
# Pinned binaryen version — see docs/release-plan.md
|
|
308
|
+
# ("Pinned binaryen / wasm-opt") for the bump procedure. Older
|
|
309
|
+
# binaryen rejects rustc's multi-table WASM output with
|
|
310
|
+
# "Only 1 table definition allowed in MVP", which the runner
|
|
311
|
+
# image's cache state used to surface non-deterministically
|
|
312
|
+
# (SQLR-58). Pinning keeps wasm-opt out of "whatever's cached"
|
|
313
|
+
# territory.
|
|
314
|
+
env:
|
|
315
|
+
BINARYEN_VERSION: version_122
|
|
302
316
|
steps:
|
|
303
317
|
- uses: actions/checkout@v4
|
|
304
318
|
|
|
@@ -313,12 +327,29 @@ jobs:
|
|
|
313
327
|
workspaces: sdk/wasm
|
|
314
328
|
shared-key: wasm-build
|
|
315
329
|
|
|
330
|
+
- name: Install pinned binaryen (wasm-opt)
|
|
331
|
+
# MUST run before wasm-pack: wasm-pack picks up wasm-opt from
|
|
332
|
+
# PATH if present, otherwise downloads whatever binaryen its
|
|
333
|
+
# own internal cache happens to have. Pinning + prepending
|
|
334
|
+
# to PATH forces a deterministic version across runner images.
|
|
335
|
+
run: |
|
|
336
|
+
set -euo pipefail
|
|
337
|
+
curl -fsSL "https://github.com/WebAssembly/binaryen/releases/download/${BINARYEN_VERSION}/binaryen-${BINARYEN_VERSION}-x86_64-linux.tar.gz" \
|
|
338
|
+
-o "$RUNNER_TEMP/binaryen.tar.gz"
|
|
339
|
+
tar -xzf "$RUNNER_TEMP/binaryen.tar.gz" -C "$RUNNER_TEMP"
|
|
340
|
+
echo "$RUNNER_TEMP/binaryen-${BINARYEN_VERSION}/bin" >> "$GITHUB_PATH"
|
|
341
|
+
"$RUNNER_TEMP/binaryen-${BINARYEN_VERSION}/bin/wasm-opt" --version
|
|
342
|
+
|
|
316
343
|
- name: Install wasm-pack
|
|
317
344
|
uses: jetli/wasm-pack-action@v0.4.0
|
|
318
345
|
|
|
319
346
|
- name: wasm-pack build --target web --release
|
|
320
347
|
working-directory: sdk/wasm
|
|
321
|
-
run:
|
|
348
|
+
run: |
|
|
349
|
+
# Sanity-check that the pinned wasm-opt is what wasm-pack sees.
|
|
350
|
+
which wasm-opt
|
|
351
|
+
wasm-opt --version
|
|
352
|
+
wasm-pack build --target web --release
|
|
322
353
|
|
|
323
354
|
- name: Report .wasm size
|
|
324
355
|
# Surfaces size regressions in PR logs. Not a hard limit yet;
|
|
@@ -374,3 +405,58 @@ jobs:
|
|
|
374
405
|
|
|
375
406
|
- name: Build Rust side
|
|
376
407
|
run: cargo build -p sqlrite-desktop
|
|
408
|
+
|
|
409
|
+
# ---------------------------------------------------------------------------
|
|
410
|
+
# Journal example (SQLR-41): Tauri 2 + Svelte 5 daily-notes app under
|
|
411
|
+
# `examples/desktop-journal/`. Same shape as `desktop-build` — frontend
|
|
412
|
+
# first, then `cargo build -p sqlrite-journal`. Excluded from the
|
|
413
|
+
# default workspace commands for the same reasons (Svelte build is a
|
|
414
|
+
# prerequisite that the main rust-build-and-test job can't satisfy).
|
|
415
|
+
journal-build:
|
|
416
|
+
name: journal-build
|
|
417
|
+
runs-on: ubuntu-latest
|
|
418
|
+
steps:
|
|
419
|
+
- uses: actions/checkout@v4
|
|
420
|
+
|
|
421
|
+
- uses: actions/setup-node@v4
|
|
422
|
+
with:
|
|
423
|
+
node-version: '20'
|
|
424
|
+
cache: 'npm'
|
|
425
|
+
cache-dependency-path: examples/desktop-journal/package-lock.json
|
|
426
|
+
|
|
427
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
428
|
+
|
|
429
|
+
- name: Install Tauri Linux deps
|
|
430
|
+
run: |
|
|
431
|
+
sudo apt-get update
|
|
432
|
+
sudo apt-get install -y \
|
|
433
|
+
libwebkit2gtk-4.1-dev \
|
|
434
|
+
libayatana-appindicator3-dev \
|
|
435
|
+
librsvg2-dev \
|
|
436
|
+
patchelf
|
|
437
|
+
|
|
438
|
+
- uses: Swatinem/rust-cache@v2
|
|
439
|
+
with:
|
|
440
|
+
shared-key: journal-build
|
|
441
|
+
|
|
442
|
+
- name: npm install
|
|
443
|
+
working-directory: examples/desktop-journal
|
|
444
|
+
# `npm ci` would be ideal, but the example doesn't ship a
|
|
445
|
+
# lockfile in version control (it's listed in .gitignore so
|
|
446
|
+
# downstream forkers don't have to fight a node-version-pinned
|
|
447
|
+
# lockfile). `npm install` is acceptable for an example app;
|
|
448
|
+
# the engine API surface is what we're really exercising.
|
|
449
|
+
run: npm install
|
|
450
|
+
|
|
451
|
+
- name: Build frontend
|
|
452
|
+
working-directory: examples/desktop-journal
|
|
453
|
+
run: npm run build
|
|
454
|
+
|
|
455
|
+
- name: Build Rust side (with ask)
|
|
456
|
+
run: cargo build -p sqlrite-journal --all-targets
|
|
457
|
+
|
|
458
|
+
- name: Build Rust side (no ask)
|
|
459
|
+
run: cargo build -p sqlrite-journal --no-default-features --all-targets
|
|
460
|
+
|
|
461
|
+
- name: Run journal unit tests
|
|
462
|
+
run: cargo test -p sqlrite-journal
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# SQLRite Journal — installer build workflow (SQLR-41).
|
|
2
|
+
#
|
|
3
|
+
# Produces packaged installers for the example desktop journal app:
|
|
4
|
+
# - macOS: .dmg + .app bundle
|
|
5
|
+
# - Linux: .deb + .AppImage
|
|
6
|
+
# - Windows: .msi (best-effort; flag in README if it lights up red)
|
|
7
|
+
#
|
|
8
|
+
# Manual trigger by default — installers are heavy (~30–40 min total
|
|
9
|
+
# wall clock across the matrix), and the example app changes much less
|
|
10
|
+
# often than the engine. Tagged pushes matching `journal-v*` also fire.
|
|
11
|
+
# Artifacts are attached to a draft GitHub release rather than the
|
|
12
|
+
# engine's own release stream so engine releases don't accidentally
|
|
13
|
+
# ship a journal binary baseline that's lagging behind.
|
|
14
|
+
|
|
15
|
+
name: Journal example — installers
|
|
16
|
+
|
|
17
|
+
on:
|
|
18
|
+
workflow_dispatch:
|
|
19
|
+
push:
|
|
20
|
+
tags:
|
|
21
|
+
- 'journal-v*'
|
|
22
|
+
|
|
23
|
+
permissions:
|
|
24
|
+
contents: write # tauri-action needs this to upload to the draft release
|
|
25
|
+
|
|
26
|
+
jobs:
|
|
27
|
+
build:
|
|
28
|
+
strategy:
|
|
29
|
+
fail-fast: false
|
|
30
|
+
matrix:
|
|
31
|
+
include:
|
|
32
|
+
- os: macos-latest
|
|
33
|
+
label: macos-arm64
|
|
34
|
+
target: aarch64-apple-darwin
|
|
35
|
+
- os: macos-13
|
|
36
|
+
label: macos-x86_64
|
|
37
|
+
target: x86_64-apple-darwin
|
|
38
|
+
- os: ubuntu-latest
|
|
39
|
+
label: linux-x86_64
|
|
40
|
+
target: x86_64-unknown-linux-gnu
|
|
41
|
+
- os: windows-latest
|
|
42
|
+
label: windows-x86_64
|
|
43
|
+
target: x86_64-pc-windows-msvc
|
|
44
|
+
|
|
45
|
+
name: build (${{ matrix.label }})
|
|
46
|
+
runs-on: ${{ matrix.os }}
|
|
47
|
+
|
|
48
|
+
steps:
|
|
49
|
+
- uses: actions/checkout@v4
|
|
50
|
+
|
|
51
|
+
- uses: actions/setup-node@v4
|
|
52
|
+
with:
|
|
53
|
+
node-version: '20'
|
|
54
|
+
|
|
55
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
56
|
+
with:
|
|
57
|
+
targets: ${{ matrix.target }}
|
|
58
|
+
|
|
59
|
+
- name: Install Tauri Linux deps
|
|
60
|
+
if: matrix.os == 'ubuntu-latest'
|
|
61
|
+
run: |
|
|
62
|
+
sudo apt-get update
|
|
63
|
+
sudo apt-get install -y \
|
|
64
|
+
libwebkit2gtk-4.1-dev \
|
|
65
|
+
libayatana-appindicator3-dev \
|
|
66
|
+
librsvg2-dev \
|
|
67
|
+
patchelf \
|
|
68
|
+
libsoup-3.0-dev \
|
|
69
|
+
libjavascriptcoregtk-4.1-dev
|
|
70
|
+
|
|
71
|
+
- uses: Swatinem/rust-cache@v2
|
|
72
|
+
with:
|
|
73
|
+
workspaces: ./examples/desktop-journal/src-tauri
|
|
74
|
+
shared-key: journal-release-${{ matrix.label }}
|
|
75
|
+
|
|
76
|
+
- name: npm install
|
|
77
|
+
working-directory: examples/desktop-journal
|
|
78
|
+
run: npm install
|
|
79
|
+
|
|
80
|
+
# tauri-action does the magic: builds frontend, runs `cargo tauri
|
|
81
|
+
# build`, and uploads the resulting installers to a draft release
|
|
82
|
+
# tagged with `tagName`. We deliberately don't auto-publish — a
|
|
83
|
+
# human reviews the draft and clicks publish.
|
|
84
|
+
- uses: tauri-apps/tauri-action@v0
|
|
85
|
+
env:
|
|
86
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
87
|
+
with:
|
|
88
|
+
projectPath: examples/desktop-journal
|
|
89
|
+
tagName: ${{ startsWith(github.ref, 'refs/tags/journal-v') && github.ref_name || format('journal-v{0}', github.run_number) }}
|
|
90
|
+
releaseName: 'SQLRite Journal ${{ startsWith(github.ref, ''refs/tags/journal-v'') && github.ref_name || format(''build-{0}'', github.run_number) }}'
|
|
91
|
+
releaseBody: |
|
|
92
|
+
Installer artifacts for the SQLRite Journal example app
|
|
93
|
+
(SQLR-41). Built against the engine version pinned in
|
|
94
|
+
`examples/desktop-journal/src-tauri/Cargo.toml`.
|
|
95
|
+
|
|
96
|
+
* macOS: `.dmg` (Apple Silicon + Intel)
|
|
97
|
+
* Linux: `.deb` + `.AppImage`
|
|
98
|
+
* Windows: `.msi`
|
|
99
|
+
|
|
100
|
+
Source: <https://github.com/joaoh82/rust_sqlite/tree/main/examples/desktop-journal>
|
|
101
|
+
releaseDraft: true
|
|
102
|
+
prerelease: false
|
|
103
|
+
args: --target ${{ matrix.target }}
|
|
@@ -86,13 +86,15 @@ jobs:
|
|
|
86
86
|
|
|
87
87
|
- name: Refresh Cargo.lock
|
|
88
88
|
# `cargo build` updates Cargo.lock with the new workspace
|
|
89
|
-
# member versions.
|
|
90
|
-
# desktop
|
|
91
|
-
# (Tauri's build.rs looks for `
|
|
92
|
-
#
|
|
93
|
-
#
|
|
94
|
-
#
|
|
95
|
-
|
|
89
|
+
# member versions. We exclude the two Tauri crates
|
|
90
|
+
# (`sqlrite-desktop`, `sqlrite-journal`): both need their Svelte
|
|
91
|
+
# frontend compiled first (Tauri's build.rs looks for a `dist/`)
|
|
92
|
+
# and pull in the GTK/glib system stack that this runner doesn't
|
|
93
|
+
# install — we're not building a release artifact here, just
|
|
94
|
+
# refreshing the lock. Keep this exclude list in sync with the
|
|
95
|
+
# cargo steps in ci.yml. `--quiet` keeps the log tidy; a real
|
|
96
|
+
# compile failure still surfaces.
|
|
97
|
+
run: cargo build --workspace --exclude sqlrite-desktop --exclude sqlrite-journal --quiet
|
|
96
98
|
|
|
97
99
|
- name: Configure git identity
|
|
98
100
|
# Use the github-actions[bot] identity so the commit shows
|
|
@@ -131,6 +131,7 @@ jobs:
|
|
|
131
131
|
"sqlrite-desktop-v$V"
|
|
132
132
|
"sqlrite-py-v$V"
|
|
133
133
|
"sqlrite-node-v$V"
|
|
134
|
+
"sqlrite-notes-v$V"
|
|
134
135
|
"sqlrite-wasm-v$V"
|
|
135
136
|
"sdk/go/v$V"
|
|
136
137
|
"v$V"
|
|
@@ -1154,6 +1155,108 @@ jobs:
|
|
|
1154
1155
|
See the umbrella release [v${{ needs.detect.outputs.version }}](../../releases/tag/v${{ needs.detect.outputs.version }}) for the full changelog.
|
|
1155
1156
|
generate_release_notes: true
|
|
1156
1157
|
|
|
1158
|
+
# ---------------------------------------------------------------------------
|
|
1159
|
+
# Step 3g': publish the `sqlrite-notes` example as a pure-JS npm
|
|
1160
|
+
# package so users can `npx sqlrite-notes init <dir>` on a fresh
|
|
1161
|
+
# machine without cloning the repo. (SQLR-64, follow-up from SQLR-40.)
|
|
1162
|
+
#
|
|
1163
|
+
# The package itself ships no binaries — it's a thin CLI on top of
|
|
1164
|
+
# the `@joaoh82/sqlrite` N-API package (which carries the prebuilt
|
|
1165
|
+
# `.node` binaries via the platform-dispatch shim) and spawns
|
|
1166
|
+
# `sqlrite-mcp` as a subprocess for the read side. The Node bits
|
|
1167
|
+
# are platform-agnostic JS modules, so this job is a single ubuntu
|
|
1168
|
+
# cell instead of the publish-nodejs build matrix.
|
|
1169
|
+
#
|
|
1170
|
+
# `needs: publish-nodejs` is load-bearing: the example's
|
|
1171
|
+
# `@joaoh82/sqlrite` dep pin resolves against the version that
|
|
1172
|
+
# publish-nodejs just put on npm. Without that ordering, `npx
|
|
1173
|
+
# sqlrite-notes@<new>` would resolve a slightly-stale engine on
|
|
1174
|
+
# the first install after release (caret pin floats up *eventually*
|
|
1175
|
+
# but the npm cache will have served the old one for minutes).
|
|
1176
|
+
#
|
|
1177
|
+
# Package name: **unscoped `sqlrite-notes`** (per ticket). The
|
|
1178
|
+
# similarity rejection that hit `sqlrite` (vs `sqlite`) doesn't
|
|
1179
|
+
# apply here — `notes` isn't a confusable suffix. If the registry
|
|
1180
|
+
# ever rejects this on a future bootstrap, fall back to
|
|
1181
|
+
# `@joaoh82/sqlrite-notes` and update both `package.json` and
|
|
1182
|
+
# `docs/release-secrets.md`'s trusted-publisher section.
|
|
1183
|
+
#
|
|
1184
|
+
# OIDC trusted-publisher setup mirrors publish-nodejs verbatim —
|
|
1185
|
+
# see that job's comment block for the long-form rationale on why
|
|
1186
|
+
# `registry-url` is omitted, why we force-upgrade npm to 11.5+, and
|
|
1187
|
+
# why `--provenance --access public --loglevel verbose` is the
|
|
1188
|
+
# canonical flag combo.
|
|
1189
|
+
publish-notes-example:
|
|
1190
|
+
name: Publish sqlrite-notes example to npm
|
|
1191
|
+
needs: [detect, tag-all, publish-nodejs]
|
|
1192
|
+
if: needs.detect.outputs.should_release == 'true'
|
|
1193
|
+
runs-on: ubuntu-latest
|
|
1194
|
+
environment: release
|
|
1195
|
+
permissions:
|
|
1196
|
+
# OIDC for npm trusted publisher + provenance signing.
|
|
1197
|
+
id-token: write
|
|
1198
|
+
# For softprops/action-gh-release at the end.
|
|
1199
|
+
contents: write
|
|
1200
|
+
steps:
|
|
1201
|
+
- uses: actions/checkout@v4
|
|
1202
|
+
|
|
1203
|
+
# Same OIDC dance as publish-nodejs — see that job's comment
|
|
1204
|
+
# block for why we deliberately do NOT set `registry-url:`.
|
|
1205
|
+
- uses: actions/setup-node@v4
|
|
1206
|
+
with:
|
|
1207
|
+
node-version: '20'
|
|
1208
|
+
|
|
1209
|
+
- name: Upgrade npm to latest (need 11.5+ for trusted publishing)
|
|
1210
|
+
run: npm install -g npm@latest
|
|
1211
|
+
|
|
1212
|
+
- name: List publish payload + OIDC env diagnostics
|
|
1213
|
+
working-directory: examples/nodejs-notes
|
|
1214
|
+
run: |
|
|
1215
|
+
ls -la
|
|
1216
|
+
echo "---"
|
|
1217
|
+
npm --version
|
|
1218
|
+
echo "---"
|
|
1219
|
+
echo "ACTIONS_ID_TOKEN_REQUEST_URL is set: ${ACTIONS_ID_TOKEN_REQUEST_URL:+yes}${ACTIONS_ID_TOKEN_REQUEST_URL:-NO}"
|
|
1220
|
+
echo "ACTIONS_ID_TOKEN_REQUEST_TOKEN is set: ${ACTIONS_ID_TOKEN_REQUEST_TOKEN:+yes}${ACTIONS_ID_TOKEN_REQUEST_TOKEN:-NO}"
|
|
1221
|
+
echo "---"
|
|
1222
|
+
# `npm pack --dry-run` prints exactly what will end up in
|
|
1223
|
+
# the tarball. The `files` whitelist in package.json should
|
|
1224
|
+
# produce: bin/sqlrite-notes.mjs, src/*.mjs, README.md,
|
|
1225
|
+
# package.json — nothing else (no test fixtures, no
|
|
1226
|
+
# node_modules).
|
|
1227
|
+
npm pack --dry-run
|
|
1228
|
+
|
|
1229
|
+
- name: Publish to npm
|
|
1230
|
+
working-directory: examples/nodejs-notes
|
|
1231
|
+
run: npm publish --access public --provenance --loglevel verbose
|
|
1232
|
+
|
|
1233
|
+
- name: GitHub Release
|
|
1234
|
+
uses: softprops/action-gh-release@v2
|
|
1235
|
+
with:
|
|
1236
|
+
tag_name: sqlrite-notes-v${{ needs.detect.outputs.version }}
|
|
1237
|
+
name: sqlrite-notes example v${{ needs.detect.outputs.version }}
|
|
1238
|
+
body: |
|
|
1239
|
+
Published to npm: https://www.npmjs.com/package/sqlrite-notes/v/${{ needs.detect.outputs.version }}
|
|
1240
|
+
|
|
1241
|
+
```bash
|
|
1242
|
+
# Ingest a folder of markdown notes into a SQLRite database
|
|
1243
|
+
# — no clone, no Rust toolchain, no env setup beyond an
|
|
1244
|
+
# optional embedding API key.
|
|
1245
|
+
npx sqlrite-notes@${{ needs.detect.outputs.version }} init ~/Documents/notes
|
|
1246
|
+
```
|
|
1247
|
+
|
|
1248
|
+
The example uses `@joaoh82/sqlrite@^${{ needs.detect.outputs.version }}` for storage + retrieval (HNSW + BM25) and spawns [`sqlrite-mcp`](../../releases/tag/sqlrite-mcp-v${{ needs.detect.outputs.version }}) as a subprocess to expose the database to Claude Desktop / any MCP client. Install `sqlrite-mcp` separately — `cargo install sqlrite-mcp` or a prebuilt binary from the MCP release.
|
|
1249
|
+
|
|
1250
|
+
Verify package provenance:
|
|
1251
|
+
```bash
|
|
1252
|
+
npm audit signatures
|
|
1253
|
+
```
|
|
1254
|
+
|
|
1255
|
+
Full docs: [`examples/nodejs-notes/README.md`](https://github.com/joaoh82/rust_sqlite/blob/main/examples/nodejs-notes/README.md).
|
|
1256
|
+
|
|
1257
|
+
See the umbrella release [v${{ needs.detect.outputs.version }}](../../releases/tag/v${{ needs.detect.outputs.version }}) for the full changelog.
|
|
1258
|
+
generate_release_notes: true
|
|
1259
|
+
|
|
1157
1260
|
# ---------------------------------------------------------------------------
|
|
1158
1261
|
# Step 3h: build the WASM package via wasm-pack and publish to
|
|
1159
1262
|
# npm as @joaoh82/sqlrite-wasm. (Phase 6h.)
|
|
@@ -1189,6 +1292,14 @@ jobs:
|
|
|
1189
1292
|
if: needs.detect.outputs.should_release == 'true'
|
|
1190
1293
|
runs-on: ubuntu-latest
|
|
1191
1294
|
environment: release
|
|
1295
|
+
# Pinned binaryen version — see docs/release-plan.md
|
|
1296
|
+
# ("Pinned binaryen / wasm-opt") for the bump procedure. Older
|
|
1297
|
+
# binaryen rejects rustc's multi-table WASM output with
|
|
1298
|
+
# "Only 1 table definition allowed in MVP" (SQLR-58). The
|
|
1299
|
+
# release pipeline can't tolerate that flake — a failed
|
|
1300
|
+
# publish-wasm leaves the rest of the release wave inconsistent.
|
|
1301
|
+
env:
|
|
1302
|
+
BINARYEN_VERSION: version_122
|
|
1192
1303
|
permissions:
|
|
1193
1304
|
# OIDC: required for npm trusted-publisher token exchange.
|
|
1194
1305
|
# Same flow proven in publish-nodejs after the v0.1.5–0.1.7
|
|
@@ -1207,6 +1318,20 @@ jobs:
|
|
|
1207
1318
|
shared-key: publish-wasm
|
|
1208
1319
|
workspaces: 'sdk/wasm -> target'
|
|
1209
1320
|
|
|
1321
|
+
- name: Install pinned binaryen (wasm-opt)
|
|
1322
|
+
# MUST run before wasm-pack: wasm-pack picks up wasm-opt
|
|
1323
|
+
# from PATH if present, otherwise downloads whatever
|
|
1324
|
+
# binaryen its own internal cache happens to have. Pinning
|
|
1325
|
+
# + prepending to PATH forces a deterministic version
|
|
1326
|
+
# across runner images.
|
|
1327
|
+
run: |
|
|
1328
|
+
set -euo pipefail
|
|
1329
|
+
curl -fsSL "https://github.com/WebAssembly/binaryen/releases/download/${BINARYEN_VERSION}/binaryen-${BINARYEN_VERSION}-x86_64-linux.tar.gz" \
|
|
1330
|
+
-o "$RUNNER_TEMP/binaryen.tar.gz"
|
|
1331
|
+
tar -xzf "$RUNNER_TEMP/binaryen.tar.gz" -C "$RUNNER_TEMP"
|
|
1332
|
+
echo "$RUNNER_TEMP/binaryen-${BINARYEN_VERSION}/bin" >> "$GITHUB_PATH"
|
|
1333
|
+
"$RUNNER_TEMP/binaryen-${BINARYEN_VERSION}/bin/wasm-opt" --version
|
|
1334
|
+
|
|
1210
1335
|
# Install wasm-pack — the canonical tool for building +
|
|
1211
1336
|
# packaging Rust crates as npm-publishable WASM modules.
|
|
1212
1337
|
# `cargo binstall` would be faster than `cargo install`
|
|
@@ -1239,6 +1364,9 @@ jobs:
|
|
|
1239
1364
|
- name: Build WASM package
|
|
1240
1365
|
working-directory: sdk/wasm
|
|
1241
1366
|
run: |
|
|
1367
|
+
# Sanity-check that the pinned wasm-opt is on PATH (SQLR-58).
|
|
1368
|
+
which wasm-opt
|
|
1369
|
+
wasm-opt --version
|
|
1242
1370
|
wasm-pack build --release --target bundler --scope joaoh82
|
|
1243
1371
|
echo "--- generated pkg/ contents ---"
|
|
1244
1372
|
ls -la pkg/
|
|
@@ -1455,7 +1583,7 @@ jobs:
|
|
|
1455
1583
|
# config if we add one later.
|
|
1456
1584
|
finalize:
|
|
1457
1585
|
name: Finalize umbrella release
|
|
1458
|
-
needs: [detect, publish-crate, publish-ask, publish-mcp, build-mcp-binaries, publish-ffi, publish-desktop, publish-python, publish-nodejs, publish-wasm, publish-go]
|
|
1586
|
+
needs: [detect, publish-crate, publish-ask, publish-mcp, build-mcp-binaries, publish-ffi, publish-desktop, publish-python, publish-nodejs, publish-notes-example, publish-wasm, publish-go]
|
|
1459
1587
|
if: needs.detect.outputs.should_release == 'true'
|
|
1460
1588
|
runs-on: ubuntu-latest
|
|
1461
1589
|
steps:
|
|
@@ -1479,6 +1607,7 @@ jobs:
|
|
|
1479
1607
|
- 🖥️ [Desktop](../../releases/tag/sqlrite-desktop-v${{ needs.detect.outputs.version }}) — unsigned installers for Linux (AppImage + deb), macOS (dmg aarch64), Windows (msi)
|
|
1480
1608
|
- 🐍 [Python](../../releases/tag/sqlrite-py-v${{ needs.detect.outputs.version }}) → [PyPI](https://pypi.org/project/sqlrite/${{ needs.detect.outputs.version }}/) — abi3-py38 wheels for Linux x86_64/aarch64, macOS aarch64, Windows x86_64 + sdist
|
|
1481
1609
|
- 🟢 [Node.js](../../releases/tag/sqlrite-node-v${{ needs.detect.outputs.version }}) → [npm](https://www.npmjs.com/package/@joaoh82/sqlrite/v/${{ needs.detect.outputs.version }}) — N-API bindings with prebuilt `.node` binaries for Linux x86_64/aarch64, macOS aarch64, Windows x86_64
|
|
1610
|
+
- 📝 [`sqlrite-notes` example](../../releases/tag/sqlrite-notes-v${{ needs.detect.outputs.version }}) → [npm](https://www.npmjs.com/package/sqlrite-notes/v/${{ needs.detect.outputs.version }}) — `npx sqlrite-notes init <dir>` ingests a folder of markdown notes into a SQLRite DB and exposes it to Claude Desktop / any MCP client
|
|
1482
1611
|
- 🌐 [WASM](../../releases/tag/sqlrite-wasm-v${{ needs.detect.outputs.version }}) → [npm](https://www.npmjs.com/package/@joaoh82/sqlrite-wasm/v/${{ needs.detect.outputs.version }}) — browser/bundler-target WebAssembly build via wasm-pack
|
|
1483
1612
|
- 🐹 [Go SDK](../../releases/tag/sdk%2Fgo%2Fv${{ needs.detect.outputs.version }}) → `go get github.com/joaoh82/rust_sqlite/sdk/go@v${{ needs.detect.outputs.version }}` — `database/sql` driver via cgo against `libsqlrite_c`
|
|
1484
1613
|
|
|
@@ -44,3 +44,12 @@ examples/wasm/pkg
|
|
|
44
44
|
|
|
45
45
|
# macOS
|
|
46
46
|
.DS_Store
|
|
47
|
+
|
|
48
|
+
# Local agent / Claude Code worktrees. These shouldn't ever get
|
|
49
|
+
# committed — but `git add -A` from main while a worktree is live
|
|
50
|
+
# under .claude/worktrees/<name>/ will capture it as a gitlink
|
|
51
|
+
# (mode 160000) because the worktree dir looks like a submodule to
|
|
52
|
+
# the parent index. Ignoring the whole tree prevents that whole
|
|
53
|
+
# class of accident. (The release commit 937f8b4 hit exactly this
|
|
54
|
+
# bug; the next commit untracks the leftover gitlinks.)
|
|
55
|
+
.claude/worktrees/
|
sqlrite-0.10.2/AGENTS.md
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# AGENTS.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Codex (Codex.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project
|
|
6
|
+
|
|
7
|
+
SQLRite is a from-scratch SQLite-style embedded database written in Rust. It's published on crates.io as `sqlrite-engine` (imported as `use sqlrite::…` — the lib target keeps the short name) and ships as: a REPL binary (`sqlrite`), a Tauri 2 + Svelte 5 desktop app, a Model Context Protocol stdio server (`sqlrite-mcp`), a C FFI shim (`sqlrite-ffi`), and language SDKs (Python via PyO3, Node via napi-rs, Go via cgo, WASM via wasm-bindgen). Phases 1–7 are shipped; the current branch `phase-8-plan` drafts inverted-index + BM25 full-text search and hybrid retrieval.
|
|
8
|
+
|
|
9
|
+
## Workspace layout
|
|
10
|
+
|
|
11
|
+
`Cargo.toml` is a workspace whose members are: `.` (the engine, package `sqlrite-engine`, lib `sqlrite`), `desktop/src-tauri`, `examples/desktop-journal/src-tauri`, `sqlrite-ffi`, `sqlrite-ask`, `sqlrite-mcp`, `sdk/python`, `sdk/nodejs`, `benchmarks`. `sdk/wasm` and `sdk/go` are deliberately **not** workspace members (wasm32 target / cgo separation).
|
|
12
|
+
|
|
13
|
+
- `src/` — engine. Public API is `Connection`/`Statement`/`Rows`/`Row`/`Value` from [src/connection.rs](src/connection.rs), re-exported via [src/lib.rs](src/lib.rs). Any new SDK should bind only to this surface.
|
|
14
|
+
- `sqlrite-ask/` — pure-Rust LLM adapter (Anthropic/OpenAI/Ollama) for natural-language → SQL. The engine's `ask` feature provides the thin `ConnectionAskExt::ask` glue.
|
|
15
|
+
- `sqlrite-mcp/` — MCP stdio server. Seven tools: `list_tables`, `describe_table`, `query`, `execute`, `schema_dump`, `vector_search`, `ask`. `--read-only` opens with a shared lock and hides `execute`.
|
|
16
|
+
- `sqlrite-ffi/` — C ABI cdylib + generated `sqlrite.h` header. Backs the Go SDK and any C consumer.
|
|
17
|
+
- `desktop/` — Tauri 2 + Svelte 5 generic SQL playground GUI. Embeds the engine directly (no FFI hop).
|
|
18
|
+
- `examples/desktop-journal/` — Tauri 2 + Svelte 5 local-first journaling app (SQLR-41). Showcase for Phase 8 BM25 + `ask` in a non-AI-native product. Mirrors `desktop/`'s engine-as-Cargo-dep pattern but uses the modern `Connection` API.
|
|
19
|
+
- `benchmarks/` — SQLR-4 / SQLR-16 bench harness. `Driver` trait + SQLRite + SQLite (rusqlite-bundled) drivers + criterion-driven workloads. Excluded from the default CI build/test/clippy/doc commands; run locally with `make bench` (or `make bench-duckdb`). See [docs/benchmarks-plan.md](docs/benchmarks-plan.md).
|
|
20
|
+
- `web/` — marketing + docs site (Next.js 15 + Tailwind v4). Independent of the Cargo workspace; lives in-repo for now but is structured to lift into its own repository later. See [web/README.md](web/README.md).
|
|
21
|
+
|
|
22
|
+
Architecture deep-dive: [docs/architecture.md](docs/architecture.md). The full doc index is [docs/_index.md](docs/_index.md).
|
|
23
|
+
|
|
24
|
+
## Engine data flow
|
|
25
|
+
|
|
26
|
+
SQL string → [src/sql/mod.rs](src/sql/mod.rs) `process_command` parses with the external `sqlparser` crate (SQLite dialect) → [src/sql/parser/](src/sql/parser/) trims the AST into internal structs (`CreateQuery`, `InsertQuery`, `SelectQuery`) → [src/sql/executor.rs](src/sql/executor.rs) runs the statement against the in-memory `Database` ([src/sql/db/database.rs](src/sql/db/database.rs)). On any write, auto-save serializes changed pages through [src/sql/pager/](src/sql/pager/) — 4 KiB pages, cell-encoded B-trees per table and index, WAL + crash-safe checkpoint, fs2 advisory locks. Vector search (Phase 7d) goes through [src/sql/hnsw.rs](src/sql/hnsw.rs); KNN uses a bounded-heap top-k in the executor. Transactions snapshot the in-memory state; ROLLBACK restores it. There is no query optimizer beyond the KNN/HNSW shortcut, no joins, no aggregates yet.
|
|
27
|
+
|
|
28
|
+
## Commands
|
|
29
|
+
|
|
30
|
+
CI is the source of truth — the workspace excludes that follow are required because the desktop crate needs a Svelte build first, the PyO3/napi-rs cdylibs can't link standalone test binaries, and the `benchmarks/` harness deliberately stays out of CI (criterion is noisy on shared runners; the rusqlite-bundled build is heavy).
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
# Build / test the Rust workspace (matches CI)
|
|
34
|
+
cargo build --workspace --exclude sqlrite-desktop --exclude sqlrite-journal --exclude sqlrite-python --exclude sqlrite-nodejs --exclude sqlrite-benchmarks --all-targets
|
|
35
|
+
cargo test --workspace --exclude sqlrite-desktop --exclude sqlrite-journal --exclude sqlrite-python --exclude sqlrite-nodejs --exclude sqlrite-benchmarks
|
|
36
|
+
|
|
37
|
+
# Single test (exact name; --nocapture to see println!)
|
|
38
|
+
cargo test <test_name> -- --nocapture
|
|
39
|
+
|
|
40
|
+
# Lint (CI runs all three)
|
|
41
|
+
cargo fmt --all -- --check
|
|
42
|
+
cargo clippy --workspace --exclude sqlrite-desktop --exclude sqlrite-journal --exclude sqlrite-python --exclude sqlrite-nodejs --exclude sqlrite-benchmarks --all-targets
|
|
43
|
+
cargo doc --workspace --exclude sqlrite-desktop --exclude sqlrite-journal --exclude sqlrite-python --exclude sqlrite-nodejs --exclude sqlrite-benchmarks --no-deps
|
|
44
|
+
|
|
45
|
+
# Run the REPL (default features include cli + ask + file-locks)
|
|
46
|
+
cargo run # in-memory
|
|
47
|
+
cargo run -- path/to/db.sqlrite # open/create file
|
|
48
|
+
cargo run -- --readonly path/to/db.sqlrite # shared-lock open
|
|
49
|
+
|
|
50
|
+
# Crate-specific
|
|
51
|
+
cargo build --release -p sqlrite-ffi # C cdylib + sqlrite.h
|
|
52
|
+
cd desktop && npm install && npm run tauri dev # desktop app dev mode
|
|
53
|
+
cargo run -p sqlrite-mcp -- /path/to.sqlrite # MCP server (stdio)
|
|
54
|
+
cd examples/desktop-journal && npm install && npm run tauri dev # journal example app
|
|
55
|
+
|
|
56
|
+
# Benchmarks (SQLR-4 / SQLR-16) — local-only, never CI
|
|
57
|
+
make bench # SQLRite + SQLite (lean)
|
|
58
|
+
make bench-duckdb # adds DuckDB driver (Group B only)
|
|
59
|
+
|
|
60
|
+
# Release plumbing
|
|
61
|
+
scripts/bump-version.sh 0.2.0 # bumps version across 11 manifests
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
`SQLRITE_LLM_API_KEY` is required for the `.ask` REPL command, the engine's `ask` feature, and the MCP `ask` tool. Clippy is **not** `-D warnings` yet (intentional — see top of [.github/workflows/ci.yml](.github/workflows/ci.yml)); deny-by-default lints still fail CI.
|
|
65
|
+
|
|
66
|
+
## Project-specific conventions
|
|
67
|
+
|
|
68
|
+
- **Errors.** Single `SQLRiteError` enum (thiserror, six variants) with a project-wide `Result<T>` alias. All public APIs return typed errors; no panics. The enum hand-rolls `PartialEq` because `std::io::Error` doesn't derive it.
|
|
69
|
+
- **Storage isn't bincode.** Tables and indexes share a cell-encoded B-tree format with a 4 KiB page size; the file header carries a format version (currently v4 after the Phase 7a vector column work). The diff-based pager only writes changed pages. See [docs/file-format.md](docs/file-format.md) and [docs/pager.md](docs/pager.md).
|
|
70
|
+
- **B-tree commit strategy.** Bottom-up rebuild on every commit (O(N), correct-by-construction). No in-place splits — deferred design decision.
|
|
71
|
+
- **Feature gates matter.** `default = ["cli", "ask", "file-locks"]`. The REPL `[[bin]]` `required-features = ["cli", "ask"]`. WASM and lean library embeddings build with `default-features = false` to avoid rustyline / clap / fs2 / sqlrite-ask. Don't pull these into the always-on dependency set.
|
|
72
|
+
- **Don't reinvent the SQL parser.** `sqlparser` is the tokenizer and AST source; project code only narrows that AST. New SQL features start by mapping the existing `sqlparser` AST node, not by extending a custom grammar.
|
|
73
|
+
- **Phase numbering is real.** The roadmap is sequenced in [docs/roadmap.md](docs/roadmap.md); design discussions live at github.com/sqlrite/design and feature work generally tracks an open phase plan in `docs/phase-*-plan.md`. Treat in-flight phase plans as load-bearing context.
|
|
74
|
+
- **Concurrency.** Engine mutates state through `Arc<Mutex<_>>` (Tauri-friendly). On-disk concurrency uses fs2 advisory locks: shared for readers, exclusive for the single writer.
|
|
75
|
+
|
|
76
|
+
## Knowledge Base
|
|
77
|
+
|
|
78
|
+
### Project-specific — `~/Documents/josh-obsidian-synced/Projects/rust_sqlite/`
|
|
79
|
+
|
|
80
|
+
- **Code:** `/Users/joaoh82/projects/rust_sqlite`
|
|
81
|
+
- **Context (read first):** `~/Documents/josh-obsidian-synced/Projects/rust_sqlite/context.md`
|
|
82
|
+
- **Notes (running journal):** `~/Documents/josh-obsidian-synced/Projects/rust_sqlite/notes.md`
|
|
83
|
+
- **Project wiki:** `~/Documents/josh-obsidian-synced/Projects/rust_sqlite/wiki/`
|
|
84
|
+
|
|
85
|
+
**How to use each:**
|
|
86
|
+
|
|
87
|
+
- `context.md` — stable background (product goals, stakeholders, domain). Read before starting non-trivial work. Update only when underlying facts change.
|
|
88
|
+
- `notes.md` — append-only dated journal. Add entries under `## YYYY-MM-DD` headings for decisions, blockers, TODOs, and incidents — anything worth preserving but not stable enough for `context.md`.
|
|
89
|
+
- `wiki/` — reference sub-docs (e.g. `Architecture.md`, `Local Dev Setup.md`, `Tech Services.md`). Create new files as topics emerge.
|
|
90
|
+
|
|
91
|
+
**When to save:**
|
|
92
|
+
|
|
93
|
+
- New stable fact about the product/domain → update `context.md`.
|
|
94
|
+
- A decision, incident, or working note → append a dated entry to `notes.md`.
|
|
95
|
+
- Reusable reference material (setup steps, credential locations, architecture) → new/updated file in `wiki/`.
|
|
96
|
+
|
|
97
|
+
### Cross-project knowledge — `~/Documents/josh-obsidian-synced/vault/`
|
|
98
|
+
|
|
99
|
+
- **General wiki:** `~/Documents/josh-obsidian-synced/vault/wiki/` — start at `_master-index.md`, then drill into the relevant topic's `_index.md`.
|
|
100
|
+
- **Raw dumps:** `~/Documents/josh-obsidian-synced/vault/raw/` — drop unprocessed research here as `YYYY-MM-DD-{slug}.md`.
|
|
101
|
+
|
|
102
|
+
Read the general wiki when the question isn't specific to this project. Drop raw research or imported notes into `vault/raw/` so it's captured even before it's distilled.
|
|
@@ -4799,7 +4799,7 @@ dependencies = [
|
|
|
4799
4799
|
|
|
4800
4800
|
[[package]]
|
|
4801
4801
|
name = "sqlrite-ask"
|
|
4802
|
-
version = "0.10.
|
|
4802
|
+
version = "0.10.2"
|
|
4803
4803
|
dependencies = [
|
|
4804
4804
|
"serde",
|
|
4805
4805
|
"serde_json",
|
|
@@ -4827,7 +4827,7 @@ dependencies = [
|
|
|
4827
4827
|
|
|
4828
4828
|
[[package]]
|
|
4829
4829
|
name = "sqlrite-desktop"
|
|
4830
|
-
version = "0.10.
|
|
4830
|
+
version = "0.10.2"
|
|
4831
4831
|
dependencies = [
|
|
4832
4832
|
"serde",
|
|
4833
4833
|
"serde_json",
|
|
@@ -4839,7 +4839,7 @@ dependencies = [
|
|
|
4839
4839
|
|
|
4840
4840
|
[[package]]
|
|
4841
4841
|
name = "sqlrite-engine"
|
|
4842
|
-
version = "0.10.
|
|
4842
|
+
version = "0.10.2"
|
|
4843
4843
|
dependencies = [
|
|
4844
4844
|
"clap",
|
|
4845
4845
|
"env_logger",
|
|
@@ -4856,7 +4856,7 @@ dependencies = [
|
|
|
4856
4856
|
|
|
4857
4857
|
[[package]]
|
|
4858
4858
|
name = "sqlrite-ffi"
|
|
4859
|
-
version = "0.10.
|
|
4859
|
+
version = "0.10.2"
|
|
4860
4860
|
dependencies = [
|
|
4861
4861
|
"cbindgen",
|
|
4862
4862
|
"serde",
|
|
@@ -4864,9 +4864,22 @@ dependencies = [
|
|
|
4864
4864
|
"sqlrite-engine",
|
|
4865
4865
|
]
|
|
4866
4866
|
|
|
4867
|
+
[[package]]
|
|
4868
|
+
name = "sqlrite-journal"
|
|
4869
|
+
version = "0.10.1"
|
|
4870
|
+
dependencies = [
|
|
4871
|
+
"serde",
|
|
4872
|
+
"serde_json",
|
|
4873
|
+
"sqlrite-engine",
|
|
4874
|
+
"tauri",
|
|
4875
|
+
"tauri-build",
|
|
4876
|
+
"tauri-plugin-dialog",
|
|
4877
|
+
"thiserror 2.0.18",
|
|
4878
|
+
]
|
|
4879
|
+
|
|
4867
4880
|
[[package]]
|
|
4868
4881
|
name = "sqlrite-mcp"
|
|
4869
|
-
version = "0.10.
|
|
4882
|
+
version = "0.10.2"
|
|
4870
4883
|
dependencies = [
|
|
4871
4884
|
"clap",
|
|
4872
4885
|
"libc",
|
|
@@ -4877,7 +4890,7 @@ dependencies = [
|
|
|
4877
4890
|
|
|
4878
4891
|
[[package]]
|
|
4879
4892
|
name = "sqlrite-nodejs"
|
|
4880
|
-
version = "0.10.
|
|
4893
|
+
version = "0.10.2"
|
|
4881
4894
|
dependencies = [
|
|
4882
4895
|
"napi",
|
|
4883
4896
|
"napi-build",
|
|
@@ -4887,7 +4900,7 @@ dependencies = [
|
|
|
4887
4900
|
|
|
4888
4901
|
[[package]]
|
|
4889
4902
|
name = "sqlrite-python"
|
|
4890
|
-
version = "0.10.
|
|
4903
|
+
version = "0.10.2"
|
|
4891
4904
|
dependencies = [
|
|
4892
4905
|
"pyo3",
|
|
4893
4906
|
"sqlrite-engine",
|
|
@@ -27,7 +27,7 @@ resolver = "3"
|
|
|
27
27
|
# `package =` key so the import name stays `sqlrite` internally:
|
|
28
28
|
# sqlrite = { package = "sqlrite-engine", path = "…" }
|
|
29
29
|
name = "sqlrite-engine"
|
|
30
|
-
version = "0.10.
|
|
30
|
+
version = "0.10.2"
|
|
31
31
|
authors = ["Joao Henrique Machado Silva <joaoh82@gmail.com>"]
|
|
32
32
|
edition = "2024"
|
|
33
33
|
rust-version = "1.85"
|
|
@@ -150,4 +150,4 @@ fs2 = { version = "0.4", optional = true }
|
|
|
150
150
|
# crate publishes to crates.io, and a path-only dep without a
|
|
151
151
|
# version field fails the manifest verification step. See PR #58
|
|
152
152
|
# retrospective in docs/roadmap.md.
|
|
153
|
-
sqlrite-ask = { version = "0.10.
|
|
153
|
+
sqlrite-ask = { version = "0.10.2", path = "sqlrite-ask", optional = true }
|