dirsql 0.4.92__tar.gz → 0.4.93__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.
- {dirsql-0.4.92 → dirsql-0.4.93}/Cargo.lock +2 -2
- {dirsql-0.4.92 → dirsql-0.4.93}/PKG-INFO +1 -1
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/Cargo.toml +1 -1
- dirsql-0.4.93/packages/python/changelog.d/2026-10-06-config-links.md +3 -0
- dirsql-0.4.93/packages/python/e2e-attestations/claude-1258-config-links.json +7 -0
- dirsql-0.4.93/packages/python/migrations.d/2026-10-06-config-links.md +43 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/Cargo.toml +1 -1
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/matcher.rs +53 -9
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/scanner.rs +36 -25
- {dirsql-0.4.92 → dirsql-0.4.93}/Cargo.toml +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/README.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/__init__.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/_async.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/_dirsql.pyi +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/cli/__init__.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/cli/discover_plugins/__init__.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/cli/discover_plugins/discovered_fragments.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/cli/discover_plugins/discovery_disabled.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/cli/discover_plugins/fragment_path.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/cli/discover_plugins/with_discovered_plugins.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/cli/main.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/cli/resolve_config_extensions.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/plan_entry_path.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/py.typed +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/read_config.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/resolve_configs_extension_specs.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/resolve_extension.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/dirsql/resolve_package.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/.vitepress/config.ts +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/AGENTS.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/context/.gitattributes +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/context/recipes.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/context/troubleshooting.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/context/usage.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/explanation.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/getting-started.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/agent-skill.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/embed.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/persist.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/query-json.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/search-indexes.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/index.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/package.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/plugins.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/reference/cli.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/reference/columns.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/reference/config.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/reference/hooks.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/reference/http-api.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/docs/reference/sdk.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/CHANGELOG.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/MIGRATIONS.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/README.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-13-plugin-discovery.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-13-repeatable-config.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-29-restore-python-310.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-02-release-profile.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-02-scan-failures.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-03-discovery-ext-resolution.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-03-manylinux-dynamic-binary.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-03-python-no-ignore.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-04-cast-lints.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-04-cli-in-process.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-20-curtaincall-dev-dependency.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-20-declared-table-name.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-04-config-paths-from-argv-module.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-05-config-extension-loader-split.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-05-resolve-config-extensions-split.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-05-resolve-extension-split.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-09-launcher-config-path-scan.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-17-extension-resolution-via-core.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-18-export-scan-failure.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-18-flatten-row-event-in-core.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-18-programmatic-extension-plan.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-20-sigint-ends-a-run-in-progress.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-24-query-rows-in-projection-order.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-02-readme-docs-host.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-03-one-glob-rule-for-config-globs.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-03-path-table-directory-one-level.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-04-path-table-dotfiles-hidden.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-05-brace-groups-follow-bash.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-05-cli-context.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-05-gitignore-requires-repo.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-05-path-table-node-modules-named.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-05-path-table-symlinks.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-05-path-table-trailing-slash.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-05-unbalanced-brackets-literal.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-06-config-braces.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-06-config-directory.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-06-config-dotnames.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-06-config-gitignore.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-06-config-globs-anchor-at-the-config.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-06-one-glob-compiler.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-06-plugin-no-default-records.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-06-watch-broadcast.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-06-zero-match-config-table-warning.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/README.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/conftest.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/.vitepress/config.ts +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/AGENTS.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/context/.gitattributes +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/context/recipes.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/context/troubleshooting.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/context/usage.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/explanation.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/getting-started.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/agent-skill.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/embed.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/persist.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/query-json.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/search-indexes.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/index.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/package.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/plugins.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/reference/cli.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/reference/columns.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/reference/config.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/reference/hooks.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/reference/http-api.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/docs/reference/sdk.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/bot-1397-watch-broadcast.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/bot-1398-inotify-error.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/bot-1399-server-cors.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/bot-1401-watch-scope.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/bot-1407-child-place-depth.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/cc-keen-knuth-f11gyq.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1056-py-ofpf9.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1066-p1-resolve-extension.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1078-argv-config-paths-core.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1079-p2-resolve-config-extensions.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1080-share-vtab-scaffolding.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1081-indicatif-progress.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1096-watch-moved-dir.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1109-watch-moved-out.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1119-ext-plan.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1120-py-ext.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1122-ext-cleanup.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1130-codec-crates.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1131-flatten-row-event.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1139-sse-flatten.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1140-scan-failure-export.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1148-clippy-all-targets.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1164-sigint-fatal.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1170-projection-order.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1172-on-file-path.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1173-py-projection-order.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1184-win-rel-paths.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1185-win-abs-table-names.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1186-win-test-harness.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1196-join-index.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1199-glob-prefix.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1201-single-walk.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1204-embed-batch.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1207-win-argv-quote.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1208-win-nonverbatim-paths.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1215-on-file-batch.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1216-on-file-cleanup.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1223-config-glob-rule.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1223-dir-one-level.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1225-plugin-no-default.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1226-stale-docs.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1232-anchor-plumbing.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1232-config-anchor.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1232-multi-watch.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1232-zero-match.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1238-parallel-walk.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1241-content-prefetch.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1243-ingest-perf.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1249-dotfiles.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1256-symlinks.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1257-trailing-slash.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1258-config-braces.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1258-config-directory.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1258-config-dotnames.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1258-config-gitignore.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1258-one-pattern.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1262-brace-literal.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1264-context.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1267-posix-classes.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1268-unbalanced-brackets.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1269-utf8-chars.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1271-node-modules-named.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1272-ancestor-gitignore.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1273-walk-prune.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1285-ingest-fast.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1286-nested-repo.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1305-glob-speed.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1308-glob-speed.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1310-glob-speed.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1311-glob-speed.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1312-glob-speed.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1318-lazy-stat.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1320-walk-speed.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1322-walk-readdir.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1325-parallel-walk.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1326-stream-rows.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1330-python-dirsql-patch.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1330-python-extensions-patch.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1330-scanner-effects.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1330-scanner-gitignore.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1330-vtab-prefetch-flag.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1330-vtab-read.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-1351-dot-dirs.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-819-oneshot-timeout.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-827-unquote-doubled-quotes.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-epic-953-slice2-reedline.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-epic-953-slice3-format.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-epic-953-stacked-prs-x59wm3.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-github-issue-825-e4mhhp.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-issue-951-0eease.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-issue-962-0jjrfv.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-issue-986-red-test-e7sjrb.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-tackle-1034-cachesplit.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-tackle-1042-py12.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-tackle-956-xzen74.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-tackle-957-lrm0z6-worker-calls.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-tackle-957-lrm0z6.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/e2e-attestations/claude-tackle-975-n8mc2h.json +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-07-29-restore-python-310.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-08-04-cli-in-process.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-08-20-declared-table-name.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-09-20-sigint-ends-a-run-in-progress.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-09-24-query-rows-in-projection-order.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-02-readme-docs-host.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-03-one-glob-rule-for-config-globs.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-03-path-table-directory-one-level.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-04-path-table-dotfiles-hidden.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-05-brace-groups-follow-bash.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-05-cli-context.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-05-gitignore-requires-repo.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-05-path-table-node-modules-named.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-05-path-table-symlinks.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-05-path-table-trailing-slash.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-05-unbalanced-brackets-literal.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-06-config-braces.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-06-config-directory.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-06-config-dotnames.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-06-config-gitignore.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-06-config-globs-anchor-at-the-config.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-06-one-glob-compiler.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-06-plugin-no-default-records.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-06-watch-broadcast.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/2026-10-06-zero-match-config-table-warning.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/migrations.d/README.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/src/lib.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/testing-conventions.toml +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/tests/__init__.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/tests/conftest.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/tests/e2e/__init__.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/__init__.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/dirsql.toml +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/tests/e2e/speed_of_light.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/tests/integration/__init__.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/tests/integration/binding/__init__.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/python/tests/integration/hermetic/__init__.py +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/CHANGELOG.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/MIGRATIONS.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/README.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/benches/db_bench.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/benches/differ_bench.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/benches/matcher_bench.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/benches/scanner_bench.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/context/.gitattributes +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/context/recipes.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/context/troubleshooting.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/context/usage.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/explanation.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/getting-started.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/agent-skill.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/embed.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/persist.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/query-json.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/search-indexes.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/index.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/plugins.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/reference/cli.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/reference/columns.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/reference/config.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/reference/hooks.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/reference/http-api.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/docs/reference/sdk.md +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/bin/dirsql.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/brace.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/cli/context.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/cli/execute.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/cli/init.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/cli/mod.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/cli/repl.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/cli/router.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/cli/run.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/cli/serialize.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/cli/server.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/cli/table.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/command.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/config.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/db.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/default_config.toml +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/differ.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/extension_resolution.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/functions.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/infer.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/launcher.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/lib.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/listing.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/on_file.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/parsed_vtab.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/path_table.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/persist.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/posix_class.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/progress.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/row_event_flat.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/sql_literal.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/tree_walk.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/vtab.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/vtab_scaffold.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/packages/rust/src/watcher.rs +0 -0
- {dirsql-0.4.92 → dirsql-0.4.93}/pyproject.toml +0 -0
|
@@ -552,7 +552,7 @@ checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
|
|
|
552
552
|
|
|
553
553
|
[[package]]
|
|
554
554
|
name = "dirsql"
|
|
555
|
-
version = "0.4.
|
|
555
|
+
version = "0.4.93"
|
|
556
556
|
dependencies = [
|
|
557
557
|
"assert_cmd",
|
|
558
558
|
"axum",
|
|
@@ -603,7 +603,7 @@ dependencies = [
|
|
|
603
603
|
|
|
604
604
|
[[package]]
|
|
605
605
|
name = "dirsql-py-ext"
|
|
606
|
-
version = "0.4.
|
|
606
|
+
version = "0.4.93"
|
|
607
607
|
dependencies = [
|
|
608
608
|
"dirsql",
|
|
609
609
|
"pyo3",
|
|
@@ -4,7 +4,7 @@ name = "dirsql-py-ext"
|
|
|
4
4
|
# pypi/maturin handler can rewrite it via `write-version` before
|
|
5
5
|
# `maturin build`. `pyproject.toml` declares `dynamic = ["version"]`
|
|
6
6
|
# and maturin reads this field. Mirrors `packages/rust/Cargo.toml`.
|
|
7
|
-
version = "0.4.
|
|
7
|
+
version = "0.4.93"
|
|
8
8
|
# abi3 note: the `abi3-py310` pyo3 feature (below) builds ONE stable-ABI
|
|
9
9
|
# `cp310-abi3` wheel per platform that loads on every CPython >= 3.10
|
|
10
10
|
# (matching `pyproject.toml`'s `requires-python = ">=3.10"`), instead of
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"command": "uv run python -m pytest tests/e2e/glob_speed_symlink_test.py tests/e2e/glob_speed_node_modules_test.py tests/e2e/glob_speed_dotfiles_test.py tests/e2e/glob_speed_matchers_test.py tests/e2e/query_contract_test.py -x -q",
|
|
3
|
+
"ran_at": 1791338642,
|
|
4
|
+
"exit_code": 0,
|
|
5
|
+
"commit": "81890d53f01c2d6e6e833e0748a6ff952e3382c5",
|
|
6
|
+
"branch": "claude/1258-config-links"
|
|
7
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
### Config globs skip node_modules unless named, and follow symlinks
|
|
2
|
+
|
|
3
|
+
#### Summary
|
|
4
|
+
|
|
5
|
+
`glob = "**/*.js"` used to list files under any `node_modules`; it now does
|
|
6
|
+
not, unless a component of the glob is `node_modules`. Symlinked files and
|
|
7
|
+
directories, which a config glob used to ignore, are now followed as in a
|
|
8
|
+
path-table and in bash.
|
|
9
|
+
|
|
10
|
+
#### Required changes
|
|
11
|
+
|
|
12
|
+
| Before | After |
|
|
13
|
+
| --- | --- |
|
|
14
|
+
| `glob = "**/*.js"` (included `node_modules/`) | `glob = "node_modules/**/*.js"` to list it |
|
|
15
|
+
|
|
16
|
+
#### Deprecations removed
|
|
17
|
+
|
|
18
|
+
_None._
|
|
19
|
+
|
|
20
|
+
#### Behavior changes without code changes
|
|
21
|
+
|
|
22
|
+
- A glob with no `node_modules` component never matches under one.
|
|
23
|
+
- A symlinked file or directory the glob reaches now yields rows.
|
|
24
|
+
|
|
25
|
+
#### Verification
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
cd "$(mktemp -d)"
|
|
29
|
+
mkdir real node_modules
|
|
30
|
+
echo '[{"p":"r"}]' > real/r.json
|
|
31
|
+
echo '[{"p":"n"}]' > node_modules/n.json
|
|
32
|
+
ln -s real linkdir
|
|
33
|
+
cat > .dirsql.toml <<'TOML'
|
|
34
|
+
[[table]]
|
|
35
|
+
name = "t"
|
|
36
|
+
glob = "**/*.json"
|
|
37
|
+
ddl = "CREATE TABLE t (p TEXT)"
|
|
38
|
+
on-file = "jq -sc add"
|
|
39
|
+
TOML
|
|
40
|
+
dirsql query "SELECT p FROM t" -c .dirsql.toml
|
|
41
|
+
# expected: no row from node_modules; rows for real/ (symlinked linkdir/ is
|
|
42
|
+
# reached by `linkdir/*.json`, not by `**`)
|
|
43
|
+
```
|
|
@@ -6,7 +6,7 @@ description = "Ephemeral SQL index over a local directory"
|
|
|
6
6
|
# version stays for the binding crates (publish = false). The literal
|
|
7
7
|
# intentionally lags the published version: putitoutthere rewrites it to
|
|
8
8
|
# the planned release version at build time and never commits it back.
|
|
9
|
-
version = "0.4.
|
|
9
|
+
version = "0.4.93"
|
|
10
10
|
edition.workspace = true
|
|
11
11
|
# Literal `license` (not `license.workspace = true`) because
|
|
12
12
|
# putitoutthere's preflight check reads `[package].license` directly
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
use crate::posix_class::expand_posix_classes;
|
|
2
|
-
use crate::scanner::{PathGlob, compile_glob};
|
|
2
|
+
use crate::scanner::{PathGlob, compile_glob, compile_globs};
|
|
3
3
|
use globset::GlobBuilder;
|
|
4
4
|
use regex::{Regex, RegexBuilder};
|
|
5
5
|
use std::ffi::OsStr;
|
|
@@ -80,23 +80,30 @@ pub struct MatchResult {
|
|
|
80
80
|
pub table_name: String,
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
+
const NODE_MODULES: &str = "node_modules";
|
|
84
|
+
|
|
83
85
|
#[derive(Clone)]
|
|
84
86
|
struct PatternEntry {
|
|
85
87
|
pattern: PathGlob,
|
|
86
88
|
table_name: String,
|
|
89
|
+
names_node_modules: bool,
|
|
87
90
|
}
|
|
88
91
|
|
|
89
92
|
/// Maps file paths to table names based on glob patterns.
|
|
90
93
|
/// Every matching pattern fires: a file matching N patterns yields N
|
|
91
94
|
/// `MatchResult`s (one per table), so a file can belong to multiple tables.
|
|
92
|
-
/// An ignore list filters paths entirely.
|
|
93
|
-
/// patterns are accepted and behave like `*`.
|
|
95
|
+
/// An ignore list filters paths entirely.
|
|
94
96
|
#[derive(Clone)]
|
|
95
97
|
pub struct TableMatcher {
|
|
96
98
|
entries: Vec<PatternEntry>,
|
|
97
99
|
ignore_set: Vec<Pattern>,
|
|
98
100
|
ignore_dir_set: Vec<Pattern>,
|
|
99
101
|
gitignore: bool,
|
|
102
|
+
walk: PathGlob,
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
fn has_node_modules_component(path: &Path) -> bool {
|
|
106
|
+
path.components().any(|c| c.as_os_str() == NODE_MODULES)
|
|
100
107
|
}
|
|
101
108
|
|
|
102
109
|
impl TableMatcher {
|
|
@@ -107,8 +114,11 @@ impl TableMatcher {
|
|
|
107
114
|
entries.push(PatternEntry {
|
|
108
115
|
pattern: compile_glob(pattern)?,
|
|
109
116
|
table_name: table_name.to_string(),
|
|
117
|
+
names_node_modules: pattern.split('/').any(|c| c == NODE_MODULES),
|
|
110
118
|
});
|
|
111
119
|
}
|
|
120
|
+
let globs: Vec<&str> = mappings.iter().map(|(pattern, _)| *pattern).collect();
|
|
121
|
+
let walk = compile_globs(&globs)?;
|
|
112
122
|
|
|
113
123
|
let mut ignore_set = Vec::new();
|
|
114
124
|
let mut ignore_dir_set = Vec::new();
|
|
@@ -124,6 +134,7 @@ impl TableMatcher {
|
|
|
124
134
|
ignore_set,
|
|
125
135
|
ignore_dir_set,
|
|
126
136
|
gitignore: false,
|
|
137
|
+
walk,
|
|
127
138
|
})
|
|
128
139
|
}
|
|
129
140
|
|
|
@@ -143,18 +154,27 @@ impl TableMatcher {
|
|
|
143
154
|
pub fn match_all(&self, path: &Path) -> Vec<MatchResult> {
|
|
144
155
|
self.entries
|
|
145
156
|
.iter()
|
|
146
|
-
.filter(|entry|
|
|
157
|
+
.filter(|entry| {
|
|
158
|
+
entry.pattern.is_match_unhidden(path)
|
|
159
|
+
&& (entry.names_node_modules || !has_node_modules_component(path))
|
|
160
|
+
})
|
|
147
161
|
.map(|entry| MatchResult {
|
|
148
162
|
table_name: entry.table_name.clone(),
|
|
149
163
|
})
|
|
150
164
|
.collect()
|
|
151
165
|
}
|
|
152
166
|
|
|
153
|
-
///
|
|
154
|
-
pub(crate) fn
|
|
155
|
-
self.
|
|
156
|
-
|
|
157
|
-
|
|
167
|
+
/// The one glob a walk for every table at once follows.
|
|
168
|
+
pub(crate) fn walk_glob(&self) -> &PathGlob {
|
|
169
|
+
&self.walk
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/// Whether the walk may skip a directory called `name` outright: it is
|
|
173
|
+
/// `node_modules` and no table's glob names it.
|
|
174
|
+
pub(crate) fn prunes_directory(&self, name: &OsStr) -> bool {
|
|
175
|
+
name == NODE_MODULES
|
|
176
|
+
&& !self.entries.is_empty()
|
|
177
|
+
&& !self.entries.iter().any(|e| e.names_node_modules)
|
|
158
178
|
}
|
|
159
179
|
|
|
160
180
|
/// Returns true if the path matches any ignore pattern.
|
|
@@ -196,6 +216,30 @@ mod tests {
|
|
|
196
216
|
assert!(matcher.with_gitignore(true).respects_gitignore());
|
|
197
217
|
}
|
|
198
218
|
|
|
219
|
+
#[test]
|
|
220
|
+
fn node_modules_is_skipped_unless_a_table_names_it() {
|
|
221
|
+
let matcher =
|
|
222
|
+
TableMatcher::new(&[("**/*.js", "all"), ("node_modules/*.js", "nm")], &[]).unwrap();
|
|
223
|
+
assert_eq!(names(&matcher, "pkg/a.js"), vec!["all"]);
|
|
224
|
+
assert_eq!(
|
|
225
|
+
names(&matcher, "pkg/node_modules/a.js"),
|
|
226
|
+
Vec::<String>::new()
|
|
227
|
+
);
|
|
228
|
+
assert_eq!(names(&matcher, "node_modules/a.js"), vec!["nm"]);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
#[test]
|
|
232
|
+
fn the_walk_prunes_node_modules_only_while_no_table_names_it() {
|
|
233
|
+
let name = OsStr::new("node_modules");
|
|
234
|
+
let plain = TableMatcher::new(&[("**/*.js", "t")], &[]).unwrap();
|
|
235
|
+
let naming = TableMatcher::new(&[("node_modules/*.js", "t")], &[]).unwrap();
|
|
236
|
+
let none = TableMatcher::new(&[], &[]).unwrap();
|
|
237
|
+
assert!(plain.prunes_directory(name));
|
|
238
|
+
assert!(!plain.prunes_directory(OsStr::new("src")));
|
|
239
|
+
assert!(!naming.prunes_directory(name));
|
|
240
|
+
assert!(!none.prunes_directory(name));
|
|
241
|
+
}
|
|
242
|
+
|
|
199
243
|
#[test]
|
|
200
244
|
fn match_all_returns_empty_for_no_match() {
|
|
201
245
|
let matcher = TableMatcher::new(&[("*.csv", "data")], &[]).unwrap();
|
|
@@ -104,7 +104,7 @@ fn scan_below(
|
|
|
104
104
|
// regardless of the absolute root directory.
|
|
105
105
|
let walker = Walk {
|
|
106
106
|
ignore: matcher,
|
|
107
|
-
glob:
|
|
107
|
+
glob: Some(matcher.walk_glob()),
|
|
108
108
|
gitignore,
|
|
109
109
|
in_repo: repo.is_some(),
|
|
110
110
|
frames: repo.map_or_else(Vec::new, |top| {
|
|
@@ -318,7 +318,16 @@ impl PathGlob {
|
|
|
318
318
|
/// it a lone `*` would cross `/` and the explicit non-recursive spelling would
|
|
319
319
|
/// silently recurse. `**` still crosses separators.
|
|
320
320
|
pub fn compile_glob(pattern: &str) -> Result<PathGlob, GlobError> {
|
|
321
|
-
|
|
321
|
+
compile_globs(&[pattern])
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/// One [`PathGlob`] over every word of every pattern: the walk a set of
|
|
325
|
+
/// tables shares, entering what any of them could reach.
|
|
326
|
+
pub fn compile_globs(patterns: &[&str]) -> Result<PathGlob, GlobError> {
|
|
327
|
+
let words: Vec<String> = patterns
|
|
328
|
+
.iter()
|
|
329
|
+
.flat_map(|pattern| crate::brace::expand(pattern))
|
|
330
|
+
.collect();
|
|
322
331
|
let mut files = Vec::new();
|
|
323
332
|
let mut spelled_dot_names = Vec::new();
|
|
324
333
|
for word in &words {
|
|
@@ -403,7 +412,11 @@ fn walk(
|
|
|
403
412
|
visit: &mut dyn FnMut(PathBuf, &Path),
|
|
404
413
|
) {
|
|
405
414
|
let rel = start.strip_prefix(root).unwrap_or(start);
|
|
406
|
-
let states = walker.glob.map_or_else(Vec::new,
|
|
415
|
+
let states = walker.glob.map_or_else(Vec::new, |glob| {
|
|
416
|
+
rel.components().fold(glob.start(), |states, component| {
|
|
417
|
+
glob.step(&states, component.as_os_str(), Kind::Dir)
|
|
418
|
+
})
|
|
419
|
+
});
|
|
407
420
|
let place = Place {
|
|
408
421
|
walk: walker,
|
|
409
422
|
dir: start.to_path_buf(),
|
|
@@ -590,16 +603,16 @@ impl Walk<'_> {
|
|
|
590
603
|
/// `.gitignore` files in force.
|
|
591
604
|
fn admits(&self, depth: usize, is_dir: bool, name: &OsStr, path: &Path, rel: &Path) -> bool {
|
|
592
605
|
should_descend(depth, is_dir, name, rel, self.ignore)
|
|
606
|
+
&& !(is_dir && self.ignore.prunes_directory(name))
|
|
593
607
|
&& self.admits_name(name)
|
|
594
608
|
&& (self.frames.is_empty() || !is_gitignored(&self.frames, path, is_dir))
|
|
595
609
|
}
|
|
596
610
|
|
|
597
611
|
fn admits_name(&self, name: &OsStr) -> bool {
|
|
598
|
-
|
|
599
|
-
||
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
}
|
|
612
|
+
match self.glob {
|
|
613
|
+
Some(glob) => !is_dot_named(name) || glob.spells_dot_name(name),
|
|
614
|
+
None => true,
|
|
615
|
+
}
|
|
603
616
|
}
|
|
604
617
|
|
|
605
618
|
fn next_states(&self, states: &[usize], name: &OsStr, kind: Kind) -> Vec<usize> {
|
|
@@ -1405,23 +1418,21 @@ mod tests {
|
|
|
1405
1418
|
}
|
|
1406
1419
|
|
|
1407
1420
|
#[test]
|
|
1408
|
-
fn
|
|
1409
|
-
let ignore = TableMatcher::new(&[("
|
|
1410
|
-
let walk = walk_with(&ignore,
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
Path::new(".other")
|
|
1424
|
-
));
|
|
1421
|
+
fn a_table_walk_skips_a_node_modules_directory_no_table_names() {
|
|
1422
|
+
let ignore = TableMatcher::new(&[("**/*.js", "t")], &[]).unwrap();
|
|
1423
|
+
let walk = walk_with(&ignore, Some(ignore.walk_glob()), Vec::new());
|
|
1424
|
+
let admits = |is_dir, name: &str| {
|
|
1425
|
+
walk.admits(
|
|
1426
|
+
1,
|
|
1427
|
+
is_dir,
|
|
1428
|
+
OsStr::new(name),
|
|
1429
|
+
Path::new(name),
|
|
1430
|
+
Path::new(name),
|
|
1431
|
+
)
|
|
1432
|
+
};
|
|
1433
|
+
assert!(!admits(true, "node_modules"));
|
|
1434
|
+
assert!(admits(false, "node_modules"));
|
|
1435
|
+
assert!(admits(true, "src"));
|
|
1425
1436
|
}
|
|
1426
1437
|
|
|
1427
1438
|
#[test]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.md
RENAMED
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-07-29-restore-python-310.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-03-discovery-ext-resolution.md
RENAMED
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-03-manylinux-dynamic-binary.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-20-curtaincall-dev-dependency.md
RENAMED
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-08-20-declared-table-name.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-05-resolve-extension-split.md
RENAMED
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-09-launcher-config-path-scan.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-18-export-scan-failure.md
RENAMED
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-09-18-flatten-row-event-in-core.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-04-path-table-dotfiles-hidden.md
RENAMED
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-05-brace-groups-follow-bash.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-05-gitignore-requires-repo.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-05-path-table-symlinks.md
RENAMED
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-05-path-table-trailing-slash.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.92 → dirsql-0.4.93}/packages/python/changelog.d/2026-10-06-plugin-no-default-records.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|