dirsql 0.4.16__tar.gz → 0.4.17__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.
Files changed (236) hide show
  1. {dirsql-0.4.16 → dirsql-0.4.17}/Cargo.lock +1 -1
  2. {dirsql-0.4.16 → dirsql-0.4.17}/PKG-INFO +1 -1
  3. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/Cargo.toml +1 -1
  4. dirsql-0.4.17/packages/python/e2e-attestations/claude-801-dirsql-function.json +7 -0
  5. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/Cargo.toml +1 -1
  6. dirsql-0.4.17/packages/rust/changelog.d/2026-08-10-dirsql-function.md +1 -0
  7. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/command.rs +4 -1
  8. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/config.rs +546 -8
  9. dirsql-0.4.17/packages/rust/src/functions.rs +758 -0
  10. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/lib.rs +191 -1
  11. {dirsql-0.4.16 → dirsql-0.4.17}/Cargo.toml +0 -0
  12. {dirsql-0.4.16 → dirsql-0.4.17}/README.md +0 -0
  13. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/__init__.py +0 -0
  14. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/_async.py +0 -0
  15. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/_dirsql.pyi +0 -0
  16. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/cli/__init__.py +0 -0
  17. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/cli/discover_plugins/__init__.py +0 -0
  18. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/cli/discover_plugins/discovered_fragments.py +0 -0
  19. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/cli/discover_plugins/discovery_disabled.py +0 -0
  20. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/cli/discover_plugins/fragment_path.py +0 -0
  21. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/cli/discover_plugins/user_passed_config.py +0 -0
  22. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/cli/discover_plugins/with_discovered_plugins.py +0 -0
  23. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/cli/main.py +0 -0
  24. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/cli/resolve_config_extensions.py +0 -0
  25. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/py.typed +0 -0
  26. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/resolve_config_extensions.py +0 -0
  27. {dirsql-0.4.16 → dirsql-0.4.17}/dirsql/resolve_extension.py +0 -0
  28. {dirsql-0.4.16 → dirsql-0.4.17}/docs/.claude/CLAUDE.md +0 -0
  29. {dirsql-0.4.16 → dirsql-0.4.17}/docs/.vitepress/config.ts +0 -0
  30. {dirsql-0.4.16 → dirsql-0.4.17}/docs/.vitepress/theme/index.ts +0 -0
  31. {dirsql-0.4.16 → dirsql-0.4.17}/docs/.vitepress/theme/lang.ts +0 -0
  32. {dirsql-0.4.16 → dirsql-0.4.17}/docs/AGENTS.md +0 -0
  33. {dirsql-0.4.16 → dirsql-0.4.17}/docs/explanation.md +0 -0
  34. {dirsql-0.4.16 → dirsql-0.4.17}/docs/getting-started.md +0 -0
  35. {dirsql-0.4.16 → dirsql-0.4.17}/docs/howto/columns-from-paths.md +0 -0
  36. {dirsql-0.4.16 → dirsql-0.4.17}/docs/howto/define-tables.md +0 -0
  37. {dirsql-0.4.16 → dirsql-0.4.17}/docs/howto/embed.md +0 -0
  38. {dirsql-0.4.16 → dirsql-0.4.17}/docs/howto/extract-from-contents.md +0 -0
  39. {dirsql-0.4.16 → dirsql-0.4.17}/docs/howto/load-extension.md +0 -0
  40. {dirsql-0.4.16 → dirsql-0.4.17}/docs/howto/parse-files-into-columns.md +0 -0
  41. {dirsql-0.4.16 → dirsql-0.4.17}/docs/howto/persist.md +0 -0
  42. {dirsql-0.4.16 → dirsql-0.4.17}/docs/howto/query-without-config.md +0 -0
  43. {dirsql-0.4.16 → dirsql-0.4.17}/docs/howto/react-to-changes.md +0 -0
  44. {dirsql-0.4.16 → dirsql-0.4.17}/docs/howto/skip-files.md +0 -0
  45. {dirsql-0.4.16 → dirsql-0.4.17}/docs/howto/write-a-plugin.md +0 -0
  46. {dirsql-0.4.16 → dirsql-0.4.17}/docs/index.md +0 -0
  47. {dirsql-0.4.16 → dirsql-0.4.17}/docs/migrations.md +0 -0
  48. {dirsql-0.4.16 → dirsql-0.4.17}/docs/package.json +0 -0
  49. {dirsql-0.4.16 → dirsql-0.4.17}/docs/plugins.md +0 -0
  50. {dirsql-0.4.16 → dirsql-0.4.17}/docs/pnpm-lock.yaml +0 -0
  51. {dirsql-0.4.16 → dirsql-0.4.17}/docs/pnpm-workspace.yaml +0 -0
  52. {dirsql-0.4.16 → dirsql-0.4.17}/docs/reference/cli.md +0 -0
  53. {dirsql-0.4.16 → dirsql-0.4.17}/docs/reference/columns.md +0 -0
  54. {dirsql-0.4.16 → dirsql-0.4.17}/docs/reference/config.md +0 -0
  55. {dirsql-0.4.16 → dirsql-0.4.17}/docs/reference/hooks.md +0 -0
  56. {dirsql-0.4.16 → dirsql-0.4.17}/docs/reference/http-api.md +0 -0
  57. {dirsql-0.4.16 → dirsql-0.4.17}/docs/reference/path-tables.md +0 -0
  58. {dirsql-0.4.16 → dirsql-0.4.17}/docs/reference/sdk.md +0 -0
  59. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/CHANGELOG.md +0 -0
  60. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/MIGRATIONS.md +0 -0
  61. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/README.md +0 -0
  62. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
  63. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-07-13-plugin-discovery.md +0 -0
  64. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
  65. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-07-13-repeatable-config.md +0 -0
  66. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
  67. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
  68. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
  69. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-07-24-hookless-table-config-error.md +0 -0
  70. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.md +0 -0
  71. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-07-29-restore-python-310.md +0 -0
  72. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-08-02-release-profile.md +0 -0
  73. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-08-02-scan-failures.md +0 -0
  74. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-08-03-discovery-ext-resolution.md +0 -0
  75. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-08-03-manylinux-dynamic-binary.md +0 -0
  76. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-08-03-python-no-ignore.md +0 -0
  77. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-08-04-cast-lints.md +0 -0
  78. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/2026-08-04-cli-in-process.md +0 -0
  79. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/changelog.d/README.md +0 -0
  80. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/conftest.py +0 -0
  81. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/.claude/CLAUDE.md +0 -0
  82. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/.vitepress/config.ts +0 -0
  83. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/.vitepress/theme/index.ts +0 -0
  84. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/.vitepress/theme/lang.ts +0 -0
  85. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/AGENTS.md +0 -0
  86. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/explanation.md +0 -0
  87. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/getting-started.md +0 -0
  88. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/howto/columns-from-paths.md +0 -0
  89. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/howto/define-tables.md +0 -0
  90. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/howto/embed.md +0 -0
  91. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/howto/extract-from-contents.md +0 -0
  92. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/howto/load-extension.md +0 -0
  93. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/howto/parse-files-into-columns.md +0 -0
  94. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/howto/persist.md +0 -0
  95. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/howto/query-without-config.md +0 -0
  96. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/howto/react-to-changes.md +0 -0
  97. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/howto/skip-files.md +0 -0
  98. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/howto/write-a-plugin.md +0 -0
  99. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/index.md +0 -0
  100. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/migrations.md +0 -0
  101. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/package.json +0 -0
  102. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/plugins.md +0 -0
  103. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/pnpm-lock.yaml +0 -0
  104. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/pnpm-workspace.yaml +0 -0
  105. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/reference/cli.md +0 -0
  106. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/reference/columns.md +0 -0
  107. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/reference/config.md +0 -0
  108. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/reference/hooks.md +0 -0
  109. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/reference/http-api.md +0 -0
  110. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/reference/path-tables.md +0 -0
  111. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/docs/reference/sdk.md +0 -0
  112. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/e2e-attestations/chore-766-narrow-pedantic.json +0 -0
  113. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/e2e-attestations/claude-737-cli-run-shim.json +0 -0
  114. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/e2e-attestations/claude-738-pypi-in-process.json +0 -0
  115. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/e2e-attestations/claude-739-npm-in-process.json +0 -0
  116. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/e2e-attestations/claude-772-extension-without-config.json +0 -0
  117. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/e2e-attestations/claude-803-remove-query-hooks.json +0 -0
  118. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
  119. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
  120. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
  121. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
  122. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
  123. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/migrations.d/2026-07-24-hookless-table-config-error.md +0 -0
  124. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/migrations.d/2026-07-24-remove-stat-fact-injection.md +0 -0
  125. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/migrations.d/2026-07-29-restore-python-310.md +0 -0
  126. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/migrations.d/2026-08-04-cli-in-process.md +0 -0
  127. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/migrations.d/README.md +0 -0
  128. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/src/lib.rs +0 -0
  129. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/tests/__init__.py +0 -0
  130. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/tests/conftest.py +0 -0
  131. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/tests/e2e/__init__.py +0 -0
  132. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/__init__.py +0 -0
  133. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/dirsql.toml +0 -0
  134. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/tests/integration/__init__.py +0 -0
  135. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/tests/integration/binding/__init__.py +0 -0
  136. {dirsql-0.4.16 → dirsql-0.4.17}/packages/python/tests/integration/hermetic/__init__.py +0 -0
  137. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/CHANGELOG.md +0 -0
  138. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/MIGRATIONS.md +0 -0
  139. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/README.md +0 -0
  140. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/benches/db_bench.rs +0 -0
  141. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/benches/differ_bench.rs +0 -0
  142. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/benches/matcher_bench.rs +0 -0
  143. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/benches/scanner_bench.rs +0 -0
  144. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-13-batch-ingest-transaction.md +0 -0
  145. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-13-chained-pre-post-query-hooks.md +0 -0
  146. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
  147. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-13-fan-out-file-table-matching.md +0 -0
  148. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-13-persist-wal.md +0 -0
  149. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
  150. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-13-repeatable-builder-config.md +0 -0
  151. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-13-repeatable-cli-config.md +0 -0
  152. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
  153. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-13-subcommand-local-config-flags.md +0 -0
  154. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-19-path-table-query-fallback.md +0 -0
  155. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-19-path-table-vtab.md +0 -0
  156. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
  157. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-20-path-table-glob-semantics.md +0 -0
  158. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-20-schema-inference.md +0 -0
  159. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-21-on-file-flag.md +0 -0
  160. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
  161. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-23-init-escalation-example.md +0 -0
  162. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-23-query-default-cli.md +0 -0
  163. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-24-hookless-table-config-error.md +0 -0
  164. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-24-remove-stat-fact-injection.md +0 -0
  165. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-07-29-on-file-failures-accumulate.md +0 -0
  166. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-08-02-drop-regex.md +0 -0
  167. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-08-02-per-file-scan-failures.md +0 -0
  168. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-08-02-release-profile.md +0 -0
  169. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-08-03-gitignore-by-default.md +0 -0
  170. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-08-03-nested-default-ignores.md +0 -0
  171. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-08-04-cast-lints.md +0 -0
  172. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-08-04-cli-run-shim.md +0 -0
  173. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-08-04-configless-extension.md +0 -0
  174. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/2026-08-10-remove-query-hooks.md +0 -0
  175. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/changelog.d/README.md +0 -0
  176. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/explanation.md +0 -0
  177. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/getting-started.md +0 -0
  178. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/howto/columns-from-paths.md +0 -0
  179. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/howto/define-tables.md +0 -0
  180. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/howto/embed.md +0 -0
  181. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/howto/extract-from-contents.md +0 -0
  182. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/howto/load-extension.md +0 -0
  183. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/howto/parse-files-into-columns.md +0 -0
  184. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/howto/persist.md +0 -0
  185. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/howto/query-without-config.md +0 -0
  186. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/howto/react-to-changes.md +0 -0
  187. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/howto/skip-files.md +0 -0
  188. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/howto/write-a-plugin.md +0 -0
  189. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/index.md +0 -0
  190. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/migrations.md +0 -0
  191. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/plugins.md +0 -0
  192. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/reference/cli.md +0 -0
  193. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/reference/columns.md +0 -0
  194. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/reference/config.md +0 -0
  195. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/reference/hooks.md +0 -0
  196. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/reference/http-api.md +0 -0
  197. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/reference/path-tables.md +0 -0
  198. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/docs/reference/sdk.md +0 -0
  199. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
  200. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-13-fan-out-file-table-matching.md +0 -0
  201. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-13-persist-wal.md +0 -0
  202. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
  203. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
  204. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-13-subcommand-local-config-flags.md +0 -0
  205. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
  206. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-20-path-table-glob-semantics.md +0 -0
  207. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
  208. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-23-init-escalation-example.md +0 -0
  209. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-23-query-default-cli.md +0 -0
  210. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-24-hookless-table-config-error.md +0 -0
  211. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-07-24-remove-stat-fact-injection.md +0 -0
  212. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-08-02-per-file-scan-failures.md +0 -0
  213. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-08-03-gitignore-by-default.md +0 -0
  214. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-08-03-nested-default-ignores.md +0 -0
  215. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/2026-08-10-remove-query-hooks.md +0 -0
  216. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/migrations.d/README.md +0 -0
  217. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/bin/dirsql.rs +0 -0
  218. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/cli/execute.rs +0 -0
  219. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/cli/init.rs +0 -0
  220. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/cli/mod.rs +0 -0
  221. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/cli/router.rs +0 -0
  222. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/cli/run.rs +0 -0
  223. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/cli/serialize.rs +0 -0
  224. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/cli/server.rs +0 -0
  225. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/db.rs +0 -0
  226. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/default_config.toml +0 -0
  227. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/differ.rs +0 -0
  228. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/infer.rs +0 -0
  229. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/matcher.rs +0 -0
  230. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/parsed_vtab.rs +0 -0
  231. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/path_table.rs +0 -0
  232. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/persist.rs +0 -0
  233. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/scanner.rs +0 -0
  234. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/vtab.rs +0 -0
  235. {dirsql-0.4.16 → dirsql-0.4.17}/packages/rust/src/watcher.rs +0 -0
  236. {dirsql-0.4.16 → dirsql-0.4.17}/pyproject.toml +0 -0
@@ -500,7 +500,7 @@ dependencies = [
500
500
 
501
501
  [[package]]
502
502
  name = "dirsql-py-ext"
503
- version = "0.4.16"
503
+ version = "0.4.17"
504
504
  dependencies = [
505
505
  "dirsql",
506
506
  "pyo3",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dirsql
3
- Version: 0.4.16
3
+ Version: 0.4.17
4
4
  Requires-Dist: tomli>=2 ; python_full_version < '3.11'
5
5
  Requires-Dist: bin-shim>=0.1
6
6
  Summary: Ephemeral SQL index over a local directory
@@ -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.16"
7
+ version = "0.4.17"
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/ -x -q",
3
+ "ran_at": 1786454213,
4
+ "exit_code": 0,
5
+ "commit": "89935d07eef8da6c095593549c57944df9122a1a",
6
+ "branch": "claude/801-dirsql-function"
7
+ }
@@ -59,7 +59,7 @@ globset = "0.4"
59
59
  # semantics), without adopting its walker: the scan keeps `walkdir`.
60
60
  ignore = "0.4"
61
61
  notify = "7"
62
- rusqlite = { version = "0.34", features = ["bundled", "load_extension", "hooks", "vtab"] }
62
+ rusqlite = { version = "0.34", features = ["bundled", "load_extension", "hooks", "vtab", "functions"] }
63
63
  serde.workspace = true
64
64
  serde_json.workspace = true
65
65
  # Split a command *template* into argv with shell-like quoting (so
@@ -0,0 +1 @@
1
+ **Added** `[[dirsql.function]]` config entries: worker-backed SQL scalar functions. A config fragment (typically plugin-shipped) declares `name`, `args` (accepted arities, registered once per arity), `command`, optional `deterministic`, and an optional per-call `timeout` overriding `[dirsql].hook-timeout`. Registration is inert; the worker process is spawned lazily on the function's first call, kept alive for the rest of the invocation (never one process per row), speaks newline-delimited JSON over stdin/stdout (`{"call": [...]}` / `{"ok": ...}` or `{"err": "message"}`, BLOBs as `{"$bytes": "<base64>"}`, arrays bound as TEXT), passes its stderr through, and is torn down when the index is dropped. Duplicate function names across config sources are a merge error; undeclared functions keep SQLite's normal "no such function" error.
@@ -222,7 +222,10 @@ pub fn run_command(
222
222
 
223
223
  /// Split a command template into argv (shell-like quoting, no shell) and
224
224
  /// substitute placeholders into whole tokens.
225
- fn build_argv(command: &str, placeholders: &[Placeholder]) -> Result<Vec<String>, CommandError> {
225
+ pub(crate) fn build_argv(
226
+ command: &str,
227
+ placeholders: &[Placeholder],
228
+ ) -> Result<Vec<String>, CommandError> {
226
229
  let tokens =
227
230
  shlex::split(command).ok_or_else(|| CommandError::InvalidCommand(command.to_string()))?;
228
231
  if tokens.is_empty() {