dirsql 0.4.132__tar.gz → 0.4.134__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 (500) hide show
  1. {dirsql-0.4.132 → dirsql-0.4.134}/Cargo.lock +2 -2
  2. {dirsql-0.4.132 → dirsql-0.4.134}/Cargo.toml +1 -1
  3. {dirsql-0.4.132 → dirsql-0.4.134}/PKG-INFO +1 -1
  4. {dirsql-0.4.132/packages/rust → dirsql-0.4.134}/docs/reference/sdk.md +24 -10
  5. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/Cargo.toml +1 -1
  6. dirsql-0.4.134/packages/python/changelog.d/2026-11-04-exact-json-floats.md +1 -0
  7. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/reference/sdk.md +24 -10
  8. dirsql-0.4.134/packages/python/e2e-attestations/bot-1586-float-roundtrip-1104.json +7 -0
  9. dirsql-0.4.134/packages/python/migrations.d/2026-11-04-exact-json-floats.md +21 -0
  10. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/Cargo.toml +1 -1
  11. {dirsql-0.4.132 → dirsql-0.4.134/packages/rust}/docs/reference/sdk.md +24 -10
  12. {dirsql-0.4.132 → dirsql-0.4.134}/README.md +0 -0
  13. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/__init__.py +0 -0
  14. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/_async.py +0 -0
  15. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/_dirsql.pyi +0 -0
  16. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/cli/__init__.py +0 -0
  17. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/cli/discover_plugins/__init__.py +0 -0
  18. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/cli/discover_plugins/discovered_fragments.py +0 -0
  19. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/cli/discover_plugins/discovery_disabled.py +0 -0
  20. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/cli/discover_plugins/fragment_path.py +0 -0
  21. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/cli/discover_plugins/with_discovered_plugins.py +0 -0
  22. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/cli/main.py +0 -0
  23. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/cli/resolve_config_extensions.py +0 -0
  24. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/plan_entry_path.py +0 -0
  25. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/py.typed +0 -0
  26. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/read_config.py +0 -0
  27. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/resolve_configs_extension_specs.py +0 -0
  28. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/resolve_extension.py +0 -0
  29. {dirsql-0.4.132 → dirsql-0.4.134}/dirsql/resolve_package.py +0 -0
  30. {dirsql-0.4.132 → dirsql-0.4.134}/docs/.claude/CLAUDE.md +0 -0
  31. {dirsql-0.4.132 → dirsql-0.4.134}/docs/.vitepress/config.ts +0 -0
  32. {dirsql-0.4.132 → dirsql-0.4.134}/docs/.vitepress/theme/index.ts +0 -0
  33. {dirsql-0.4.132 → dirsql-0.4.134}/docs/.vitepress/theme/lang.ts +0 -0
  34. {dirsql-0.4.132 → dirsql-0.4.134}/docs/AGENTS.md +0 -0
  35. {dirsql-0.4.132 → dirsql-0.4.134}/docs/context/.gitattributes +0 -0
  36. {dirsql-0.4.132 → dirsql-0.4.134}/docs/context/recipes.md +0 -0
  37. {dirsql-0.4.132 → dirsql-0.4.134}/docs/context/troubleshooting.md +0 -0
  38. {dirsql-0.4.132 → dirsql-0.4.134}/docs/context/usage.md +0 -0
  39. {dirsql-0.4.132 → dirsql-0.4.134}/docs/explanation.md +0 -0
  40. {dirsql-0.4.132 → dirsql-0.4.134}/docs/getting-started.md +0 -0
  41. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/agent-skill.md +0 -0
  42. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/columns-from-paths.md +0 -0
  43. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/define-tables.md +0 -0
  44. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/embed.md +0 -0
  45. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/extract-from-contents.md +0 -0
  46. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/load-extension.md +0 -0
  47. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/parse-files-into-columns.md +0 -0
  48. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/persist.md +0 -0
  49. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/query-json.md +0 -0
  50. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/query-without-config.md +0 -0
  51. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/react-to-changes.md +0 -0
  52. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/search-by-meaning.md +0 -0
  53. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/search-indexes.md +0 -0
  54. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/skip-files.md +0 -0
  55. {dirsql-0.4.132 → dirsql-0.4.134}/docs/howto/write-a-plugin.md +0 -0
  56. {dirsql-0.4.132 → dirsql-0.4.134}/docs/index.md +0 -0
  57. {dirsql-0.4.132 → dirsql-0.4.134}/docs/package.json +0 -0
  58. {dirsql-0.4.132 → dirsql-0.4.134}/docs/plugins.md +0 -0
  59. {dirsql-0.4.132 → dirsql-0.4.134}/docs/pnpm-lock.yaml +0 -0
  60. {dirsql-0.4.132 → dirsql-0.4.134}/docs/pnpm-workspace.yaml +0 -0
  61. {dirsql-0.4.132 → dirsql-0.4.134}/docs/reference/cli.md +0 -0
  62. {dirsql-0.4.132 → dirsql-0.4.134}/docs/reference/columns.md +0 -0
  63. {dirsql-0.4.132 → dirsql-0.4.134}/docs/reference/config.md +0 -0
  64. {dirsql-0.4.132 → dirsql-0.4.134}/docs/reference/glob.md +0 -0
  65. {dirsql-0.4.132 → dirsql-0.4.134}/docs/reference/hooks.md +0 -0
  66. {dirsql-0.4.132 → dirsql-0.4.134}/docs/reference/http-api.md +0 -0
  67. {dirsql-0.4.132 → dirsql-0.4.134}/docs/reference/path-tables.md +0 -0
  68. {dirsql-0.4.132 → dirsql-0.4.134}/docs/speed.json +0 -0
  69. {dirsql-0.4.132 → dirsql-0.4.134}/docs/speed.md +0 -0
  70. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/CHANGELOG.md +0 -0
  71. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/MIGRATIONS.md +0 -0
  72. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/README.md +0 -0
  73. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
  74. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-07-13-plugin-discovery.md +0 -0
  75. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
  76. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-07-13-repeatable-config.md +0 -0
  77. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
  78. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
  79. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
  80. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-07-24-hookless-table-config-error.md +0 -0
  81. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.md +0 -0
  82. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-07-29-restore-python-310.md +0 -0
  83. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-08-02-release-profile.md +0 -0
  84. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-08-02-scan-failures.md +0 -0
  85. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-08-03-discovery-ext-resolution.md +0 -0
  86. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-08-03-manylinux-dynamic-binary.md +0 -0
  87. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-08-03-python-no-ignore.md +0 -0
  88. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-08-04-cast-lints.md +0 -0
  89. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-08-04-cli-in-process.md +0 -0
  90. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-08-20-curtaincall-dev-dependency.md +0 -0
  91. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-08-20-declared-table-name.md +0 -0
  92. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-09-04-config-paths-from-argv-module.md +0 -0
  93. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-09-05-config-extension-loader-split.md +0 -0
  94. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-09-05-resolve-config-extensions-split.md +0 -0
  95. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-09-05-resolve-extension-split.md +0 -0
  96. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-09-09-launcher-config-path-scan.md +0 -0
  97. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-09-17-extension-resolution-via-core.md +0 -0
  98. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-09-18-export-scan-failure.md +0 -0
  99. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-09-18-flatten-row-event-in-core.md +0 -0
  100. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-09-18-programmatic-extension-plan.md +0 -0
  101. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-09-20-sigint-ends-a-run-in-progress.md +0 -0
  102. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-09-24-query-rows-in-projection-order.md +0 -0
  103. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-02-readme-docs-host.md +0 -0
  104. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-03-one-glob-rule-for-config-globs.md +0 -0
  105. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-03-path-table-directory-one-level.md +0 -0
  106. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-04-path-table-dotfiles-hidden.md +0 -0
  107. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-05-brace-groups-follow-bash.md +0 -0
  108. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-05-cli-context.md +0 -0
  109. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-05-gitignore-requires-repo.md +0 -0
  110. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-05-path-table-node-modules-named.md +0 -0
  111. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-05-path-table-symlinks.md +0 -0
  112. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-05-path-table-trailing-slash.md +0 -0
  113. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-05-unbalanced-brackets-literal.md +0 -0
  114. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-06-config-braces.md +0 -0
  115. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-06-config-directory.md +0 -0
  116. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-06-config-dotnames.md +0 -0
  117. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-06-config-gitignore.md +0 -0
  118. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-06-config-globs-anchor-at-the-config.md +0 -0
  119. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-06-config-links.md +0 -0
  120. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-06-one-glob-compiler.md +0 -0
  121. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-06-plugin-no-default-records.md +0 -0
  122. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-06-watch-broadcast.md +0 -0
  123. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-06-zero-match-config-table-warning.md +0 -0
  124. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-07-bracket-slash-literal.md +0 -0
  125. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-07-dotdot-and-double-slashes.md +0 -0
  126. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-07-dotdot-as-written.md +0 -0
  127. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-07-glob-walks-node-modules.md +0 -0
  128. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-07-literal-gitignore.md +0 -0
  129. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-07-on-file-ndjson.md +0 -0
  130. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-07-parallel-hooks.md +0 -0
  131. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-07-persist-cache-outside-root.md +0 -0
  132. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-07-posix-classes-unicode.md +0 -0
  133. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-07-spread-few-large-files.md +0 -0
  134. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-08-small-walks-stay-on-one-thread.md +0 -0
  135. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-10-08-watch-requires-named-table.md +0 -0
  136. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-11-02-watch-dirs-created-mid-registration.md +0 -0
  137. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-11-02-watch-live-on-return.md +0 -0
  138. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/2026-11-04-query-bind-params.md +0 -0
  139. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/changelog.d/README.md +0 -0
  140. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/conftest.py +0 -0
  141. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/.claude/CLAUDE.md +0 -0
  142. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/.vitepress/config.ts +0 -0
  143. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/.vitepress/theme/index.ts +0 -0
  144. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/.vitepress/theme/lang.ts +0 -0
  145. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/AGENTS.md +0 -0
  146. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/context/.gitattributes +0 -0
  147. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/context/recipes.md +0 -0
  148. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/context/troubleshooting.md +0 -0
  149. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/context/usage.md +0 -0
  150. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/explanation.md +0 -0
  151. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/getting-started.md +0 -0
  152. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/agent-skill.md +0 -0
  153. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/columns-from-paths.md +0 -0
  154. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/define-tables.md +0 -0
  155. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/embed.md +0 -0
  156. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/extract-from-contents.md +0 -0
  157. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/load-extension.md +0 -0
  158. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/parse-files-into-columns.md +0 -0
  159. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/persist.md +0 -0
  160. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/query-json.md +0 -0
  161. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/query-without-config.md +0 -0
  162. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/react-to-changes.md +0 -0
  163. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/search-by-meaning.md +0 -0
  164. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/search-indexes.md +0 -0
  165. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/skip-files.md +0 -0
  166. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/howto/write-a-plugin.md +0 -0
  167. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/index.md +0 -0
  168. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/package.json +0 -0
  169. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/plugins.md +0 -0
  170. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/pnpm-lock.yaml +0 -0
  171. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/pnpm-workspace.yaml +0 -0
  172. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/reference/cli.md +0 -0
  173. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/reference/columns.md +0 -0
  174. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/reference/config.md +0 -0
  175. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/reference/glob.md +0 -0
  176. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/reference/hooks.md +0 -0
  177. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/reference/http-api.md +0 -0
  178. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/reference/path-tables.md +0 -0
  179. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/speed.json +0 -0
  180. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/docs/speed.md +0 -0
  181. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1334-listing-exemptions.json +0 -0
  182. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1397-watch-broadcast.json +0 -0
  183. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1398-inotify-error.json +0 -0
  184. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1399-server-cors.json +0 -0
  185. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1401-watch-scope.json +0 -0
  186. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1406-watch-no-tables-1008.json +0 -0
  187. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1407-child-place-depth.json +0 -0
  188. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1414-stat-speed.json +0 -0
  189. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1415-server-speed.json +0 -0
  190. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1416-watch-speed-1008.json +0 -0
  191. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1418-node-modules.json +0 -0
  192. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1419-dotdot-slashes.json +0 -0
  193. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1420-bracket-slash.json +0 -0
  194. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1421-posix-unicode.json +0 -0
  195. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1422-literal-gitignore.json +0 -0
  196. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1426-walk-spawn-threshold-1008.json +0 -0
  197. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1428-ndjson-hooks.json +0 -0
  198. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1429-parallel-hooks.json +0 -0
  199. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1430-dotdot-as-written.json +0 -0
  200. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1431-persist-cache-dir.json +0 -0
  201. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1437-test-cache-isolation.json +0 -0
  202. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1440-fix-main-build.json +0 -0
  203. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1448-wildcard-ignored-prefix.json +0 -0
  204. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1451-named-dir-never-hidden.json +0 -0
  205. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1454-split-few-files.json +0 -0
  206. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1457-incremental-refresh-1008.json +0 -0
  207. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1459-rescan-on-overflow-1008.json +0 -0
  208. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1461-chunked-read-1016.json +0 -0
  209. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1461-row-footprint-1008.json +0 -0
  210. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1461-step3-1020.json +0 -0
  211. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1461-wide-read-1015.json +0 -0
  212. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1462-paired-speed-harness-1008.json +0 -0
  213. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1464-fastest-native-1008.json +0 -0
  214. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1469-ci-speed-sanity-1009.json +0 -0
  215. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1470-perf-suite-1009.json +0 -0
  216. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1470-speed-page-1011.json +0 -0
  217. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1471-one-level-restore-1102.json +0 -0
  218. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1474-vtab-speed-1014.json +0 -0
  219. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1475-prefix-speed-1016.json +0 -0
  220. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1475-rowpath-1016.json +0 -0
  221. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1477-onelevel-speed-1015.json +0 -0
  222. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1477-onelevel-speed-1016.json +0 -0
  223. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1478-perdir-walk-1020.json +0 -0
  224. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1480-matcher-speed-1015.json +0 -0
  225. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1481-gitrepo-speed-1015.json +0 -0
  226. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1482-docs-fastest-bar-1102.json +0 -0
  227. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1483-fm-speed-1015.json +0 -0
  228. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1484-jsonl-speed-1015.json +0 -0
  229. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1487-frontend-query-1011.json +0 -0
  230. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1488-frontend-metadata-1011.json +0 -0
  231. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1489-frontend-browse-1013.json +0 -0
  232. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1503-bench-watch-1011.json +0 -0
  233. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1504-bench-names-1011.json +0 -0
  234. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1514-watch-rerun-inline-1015.json +0 -0
  235. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1524-path-eq-1016.json +0 -0
  236. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1526-main-red-1016.json +0 -0
  237. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1532-gitignore-fastest-bar-1016.json +0 -0
  238. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1534-fm-native-1016.json +0 -0
  239. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1534-fm-native-1102.json +0 -0
  240. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1538-onfile-order-1019.json +0 -0
  241. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1540-update-in-place-1019.json +0 -0
  242. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1541-defer-fk-1019.json +0 -0
  243. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1544-perfile-update-1020.json +0 -0
  244. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1552-watch-gap-1102.json +0 -0
  245. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1557-watch-rename-1102.json +0 -0
  246. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1560-scan-insert-1102.json +0 -0
  247. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1562-hook-savepoint-1102.json +0 -0
  248. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1562-watch-speed-1102.json +0 -0
  249. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-1575-bind-params-1104.json +0 -0
  250. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-fix-main-place-depth-20261007.json +0 -0
  251. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-issue-1486-frontend-20261009.json +0 -0
  252. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-speed-gap-childpath-1011.json +0 -0
  253. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-speed-parse-overlap-1011.json +0 -0
  254. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-speed-parse-paths-1009.json +0 -0
  255. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-speed-parse-pragmas-1011.json +0 -0
  256. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-speed-sql-valueref-1013.json +0 -0
  257. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-speed-walk-components-1011.json +0 -0
  258. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-speed-walk-rowpath-1011.json +0 -0
  259. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-speed-walk-rows-1013.json +0 -0
  260. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/bot-speed-walk-sched-1009.json +0 -0
  261. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/cc-keen-knuth-f11gyq.json +0 -0
  262. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1056-py-ofpf9.json +0 -0
  263. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1066-p1-resolve-extension.json +0 -0
  264. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1078-argv-config-paths-core.json +0 -0
  265. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1079-p2-resolve-config-extensions.json +0 -0
  266. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1080-share-vtab-scaffolding.json +0 -0
  267. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1081-indicatif-progress.json +0 -0
  268. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1096-watch-moved-dir.json +0 -0
  269. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1109-watch-moved-out.json +0 -0
  270. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1119-ext-plan.json +0 -0
  271. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1120-py-ext.json +0 -0
  272. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1122-ext-cleanup.json +0 -0
  273. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1130-codec-crates.json +0 -0
  274. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1131-flatten-row-event.json +0 -0
  275. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1139-sse-flatten.json +0 -0
  276. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1140-scan-failure-export.json +0 -0
  277. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1148-clippy-all-targets.json +0 -0
  278. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1164-sigint-fatal.json +0 -0
  279. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1170-projection-order.json +0 -0
  280. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1172-on-file-path.json +0 -0
  281. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1173-py-projection-order.json +0 -0
  282. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1184-win-rel-paths.json +0 -0
  283. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1185-win-abs-table-names.json +0 -0
  284. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1186-win-test-harness.json +0 -0
  285. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1196-join-index.json +0 -0
  286. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1199-glob-prefix.json +0 -0
  287. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1201-single-walk.json +0 -0
  288. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1204-embed-batch.json +0 -0
  289. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1207-win-argv-quote.json +0 -0
  290. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1208-win-nonverbatim-paths.json +0 -0
  291. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1215-on-file-batch.json +0 -0
  292. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1216-on-file-cleanup.json +0 -0
  293. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1223-config-glob-rule.json +0 -0
  294. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1223-dir-one-level.json +0 -0
  295. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1225-plugin-no-default.json +0 -0
  296. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1226-stale-docs.json +0 -0
  297. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1232-anchor-plumbing.json +0 -0
  298. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1232-config-anchor.json +0 -0
  299. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1232-multi-watch.json +0 -0
  300. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1232-zero-match.json +0 -0
  301. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1238-parallel-walk.json +0 -0
  302. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1241-content-prefetch.json +0 -0
  303. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1243-ingest-perf.json +0 -0
  304. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1249-dotfiles.json +0 -0
  305. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1256-symlinks.json +0 -0
  306. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1257-trailing-slash.json +0 -0
  307. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1258-config-braces.json +0 -0
  308. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1258-config-directory.json +0 -0
  309. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1258-config-dotnames.json +0 -0
  310. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1258-config-gitignore.json +0 -0
  311. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1258-config-links.json +0 -0
  312. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1258-one-pattern.json +0 -0
  313. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1262-brace-literal.json +0 -0
  314. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1264-context.json +0 -0
  315. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1267-posix-classes.json +0 -0
  316. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1268-unbalanced-brackets.json +0 -0
  317. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1269-utf8-chars.json +0 -0
  318. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1271-node-modules-named.json +0 -0
  319. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1272-ancestor-gitignore.json +0 -0
  320. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1273-walk-prune.json +0 -0
  321. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1285-ingest-fast.json +0 -0
  322. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1286-nested-repo.json +0 -0
  323. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1305-glob-speed.json +0 -0
  324. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1308-glob-speed.json +0 -0
  325. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1310-glob-speed.json +0 -0
  326. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1311-glob-speed.json +0 -0
  327. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1312-glob-speed.json +0 -0
  328. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1318-lazy-stat.json +0 -0
  329. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1320-walk-speed.json +0 -0
  330. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1322-walk-readdir.json +0 -0
  331. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1325-parallel-walk.json +0 -0
  332. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1326-stream-rows.json +0 -0
  333. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1330-python-dirsql-patch.json +0 -0
  334. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1330-python-extensions-patch.json +0 -0
  335. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1330-scanner-effects.json +0 -0
  336. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1330-scanner-gitignore.json +0 -0
  337. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1330-vtab-prefetch-flag.json +0 -0
  338. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1330-vtab-read.json +0 -0
  339. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-1351-dot-dirs.json +0 -0
  340. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-819-oneshot-timeout.json +0 -0
  341. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-827-unquote-doubled-quotes.json +0 -0
  342. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-epic-953-slice2-reedline.json +0 -0
  343. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-epic-953-slice3-format.json +0 -0
  344. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-epic-953-stacked-prs-x59wm3.json +0 -0
  345. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-github-issue-825-e4mhhp.json +0 -0
  346. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-issue-951-0eease.json +0 -0
  347. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-issue-962-0jjrfv.json +0 -0
  348. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-issue-986-red-test-e7sjrb.json +0 -0
  349. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-tackle-1034-cachesplit.json +0 -0
  350. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-tackle-1042-py12.json +0 -0
  351. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-tackle-956-xzen74.json +0 -0
  352. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-tackle-957-lrm0z6-worker-calls.json +0 -0
  353. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-tackle-957-lrm0z6.json +0 -0
  354. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/e2e-attestations/claude-tackle-975-n8mc2h.json +0 -0
  355. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
  356. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
  357. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
  358. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
  359. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
  360. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-07-24-hookless-table-config-error.md +0 -0
  361. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-07-24-remove-stat-fact-injection.md +0 -0
  362. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-07-29-restore-python-310.md +0 -0
  363. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-08-04-cli-in-process.md +0 -0
  364. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-08-20-declared-table-name.md +0 -0
  365. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-09-20-sigint-ends-a-run-in-progress.md +0 -0
  366. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-09-24-query-rows-in-projection-order.md +0 -0
  367. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-02-readme-docs-host.md +0 -0
  368. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-03-one-glob-rule-for-config-globs.md +0 -0
  369. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-03-path-table-directory-one-level.md +0 -0
  370. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-04-path-table-dotfiles-hidden.md +0 -0
  371. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-05-brace-groups-follow-bash.md +0 -0
  372. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-05-cli-context.md +0 -0
  373. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-05-gitignore-requires-repo.md +0 -0
  374. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-05-path-table-node-modules-named.md +0 -0
  375. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-05-path-table-symlinks.md +0 -0
  376. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-05-path-table-trailing-slash.md +0 -0
  377. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-05-unbalanced-brackets-literal.md +0 -0
  378. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-06-config-braces.md +0 -0
  379. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-06-config-directory.md +0 -0
  380. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-06-config-dotnames.md +0 -0
  381. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-06-config-gitignore.md +0 -0
  382. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-06-config-globs-anchor-at-the-config.md +0 -0
  383. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-06-config-links.md +0 -0
  384. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-06-one-glob-compiler.md +0 -0
  385. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-06-plugin-no-default-records.md +0 -0
  386. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-06-watch-broadcast.md +0 -0
  387. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-06-zero-match-config-table-warning.md +0 -0
  388. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-07-bracket-slash-literal.md +0 -0
  389. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-07-dotdot-and-double-slashes.md +0 -0
  390. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-07-dotdot-as-written.md +0 -0
  391. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-07-glob-walks-node-modules.md +0 -0
  392. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-07-literal-gitignore.md +0 -0
  393. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-07-on-file-ndjson.md +0 -0
  394. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-07-parallel-hooks.md +0 -0
  395. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-07-persist-cache-outside-root.md +0 -0
  396. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-07-posix-classes-unicode.md +0 -0
  397. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-07-spread-few-large-files.md +0 -0
  398. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-08-small-walks-stay-on-one-thread.md +0 -0
  399. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-10-08-watch-requires-named-table.md +0 -0
  400. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-11-02-watch-dirs-created-mid-registration.md +0 -0
  401. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-11-02-watch-live-on-return.md +0 -0
  402. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/2026-11-04-query-bind-params.md +0 -0
  403. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/migrations.d/README.md +0 -0
  404. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/src/lib.rs +0 -0
  405. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/testing-conventions.toml +0 -0
  406. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/tests/__init__.py +0 -0
  407. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/tests/conftest.py +0 -0
  408. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/tests/e2e/__init__.py +0 -0
  409. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/tests/e2e/bench_report.py +0 -0
  410. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/tests/e2e/bench_suite.py +0 -0
  411. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/__init__.py +0 -0
  412. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/dirsql.toml +0 -0
  413. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/tests/e2e/speed_of_light.py +0 -0
  414. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/tests/integration/__init__.py +0 -0
  415. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/tests/integration/binding/__init__.py +0 -0
  416. {dirsql-0.4.132 → dirsql-0.4.134}/packages/python/tests/integration/hermetic/__init__.py +0 -0
  417. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/CHANGELOG.md +0 -0
  418. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/MIGRATIONS.md +0 -0
  419. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/README.md +0 -0
  420. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/benches/db_bench.rs +0 -0
  421. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/benches/differ_bench.rs +0 -0
  422. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/benches/matcher_bench.rs +0 -0
  423. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/benches/scanner_bench.rs +0 -0
  424. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/context/.gitattributes +0 -0
  425. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/context/recipes.md +0 -0
  426. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/context/troubleshooting.md +0 -0
  427. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/context/usage.md +0 -0
  428. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/explanation.md +0 -0
  429. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/getting-started.md +0 -0
  430. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/agent-skill.md +0 -0
  431. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/columns-from-paths.md +0 -0
  432. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/define-tables.md +0 -0
  433. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/embed.md +0 -0
  434. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/extract-from-contents.md +0 -0
  435. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/load-extension.md +0 -0
  436. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/parse-files-into-columns.md +0 -0
  437. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/persist.md +0 -0
  438. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/query-json.md +0 -0
  439. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/query-without-config.md +0 -0
  440. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/react-to-changes.md +0 -0
  441. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/search-by-meaning.md +0 -0
  442. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/search-indexes.md +0 -0
  443. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/skip-files.md +0 -0
  444. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/howto/write-a-plugin.md +0 -0
  445. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/index.md +0 -0
  446. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/plugins.md +0 -0
  447. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/reference/cli.md +0 -0
  448. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/reference/columns.md +0 -0
  449. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/reference/config.md +0 -0
  450. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/reference/glob.md +0 -0
  451. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/reference/hooks.md +0 -0
  452. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/reference/http-api.md +0 -0
  453. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/reference/path-tables.md +0 -0
  454. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/speed.json +0 -0
  455. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/docs/speed.md +0 -0
  456. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/bin/dirsql.rs +0 -0
  457. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/brace.rs +0 -0
  458. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/context.rs +0 -0
  459. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/execute.rs +0 -0
  460. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/frontend.html +0 -0
  461. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/frontend.js +0 -0
  462. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/init.rs +0 -0
  463. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/mod.rs +0 -0
  464. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/repl.rs +0 -0
  465. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/router.rs +0 -0
  466. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/run.rs +0 -0
  467. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/serialize.rs +0 -0
  468. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/server.rs +0 -0
  469. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/cli/table.rs +0 -0
  470. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/command.rs +0 -0
  471. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/config.rs +0 -0
  472. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/db.rs +0 -0
  473. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/default_config.toml +0 -0
  474. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/differ.rs +0 -0
  475. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/extension_resolution.rs +0 -0
  476. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/foreign_key.rs +0 -0
  477. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/functions.rs +0 -0
  478. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/gitignore_frame.rs +0 -0
  479. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/infer.rs +0 -0
  480. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/launcher.rs +0 -0
  481. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/lib.rs +0 -0
  482. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/listing.rs +0 -0
  483. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/matcher.rs +0 -0
  484. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/on_file.rs +0 -0
  485. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/params.rs +0 -0
  486. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/parsed_vtab.rs +0 -0
  487. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/path_table.rs +0 -0
  488. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/per_thread.rs +0 -0
  489. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/persist.rs +0 -0
  490. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/posix_class.rs +0 -0
  491. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/progress.rs +0 -0
  492. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/row_event_flat.rs +0 -0
  493. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/row_stream.rs +0 -0
  494. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/scanner.rs +0 -0
  495. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/sql_literal.rs +0 -0
  496. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/tree_walk.rs +0 -0
  497. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/vtab.rs +0 -0
  498. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/vtab_scaffold.rs +0 -0
  499. {dirsql-0.4.132 → dirsql-0.4.134}/packages/rust/src/watcher.rs +0 -0
  500. {dirsql-0.4.132 → dirsql-0.4.134}/pyproject.toml +0 -0
@@ -573,7 +573,7 @@ dependencies = [
573
573
 
574
574
  [[package]]
575
575
  name = "dirsql"
576
- version = "0.4.132"
576
+ version = "0.4.134"
577
577
  dependencies = [
578
578
  "assert_cmd",
579
579
  "axum",
@@ -625,7 +625,7 @@ dependencies = [
625
625
 
626
626
  [[package]]
627
627
  name = "dirsql-py-ext"
628
- version = "0.4.132"
628
+ version = "0.4.134"
629
629
  dependencies = [
630
630
  "dirsql",
631
631
  "pyo3",
@@ -18,7 +18,7 @@ dirsql = { path = "packages/rust" }
18
18
  serde = { version = "1", features = ["derive"] }
19
19
  # `preserve_order`: a serialized row must keep the projection order the SELECT
20
20
  # list asked for, which the default BTreeMap-backed object discards.
21
- serde_json = { version = "1", features = ["preserve_order"] }
21
+ serde_json = { version = "1", features = ["preserve_order", "float_roundtrip"] }
22
22
  regex = "1"
23
23
  thiserror = "2"
24
24
  tokio = { version = "1", features = ["rt", "sync"] }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dirsql
3
- Version: 0.4.132
3
+ Version: 0.4.134
4
4
  Requires-Dist: bin-shim>=0.1
5
5
  Summary: Ephemeral SQL index over a local directory
6
6
  Keywords: sql,filesystem,directory,sqlite,index
@@ -212,7 +212,7 @@ await db.query(sql: str, params: Sequence | Mapping | None = None) -> list[dict]
212
212
  ```
213
213
 
214
214
  ```typescript [TypeScript]
215
- await db.query(sql: string) -> Record<string, unknown>[]
215
+ await db.query(sql: string, params?: unknown[] | Record<string, unknown> | null) -> Record<string, unknown>[]
216
216
  // Runs on the libuv threadpool; the JS event loop stays responsive.
217
217
  ```
218
218
 
@@ -227,8 +227,9 @@ Executes a SQL query and returns rows keyed by column name.
227
227
 
228
228
  **Bind parameters.** `params` reaches SQLite's own parameter binding; the
229
229
  values never enter the SQL text, so text holding quotes needs no escaping.
230
- A sequence fills `?` placeholders in order; a mapping fills `:name`
231
- placeholders, keyed by the name without its prefix. It works for path-tables
230
+ A sequence (a TypeScript array) fills `?` placeholders in order; a mapping
231
+ (a TypeScript plain object) fills `:name`, `@name` and `$name` placeholders,
232
+ keyed by the name without its prefix. It works for path-tables
232
233
  and declared tables alike:
233
234
 
234
235
  ::: code-group
@@ -241,6 +242,15 @@ await db.query(
241
242
  await db.query("SELECT * FROM notes WHERE author = ? AND year = ?", ("ann", 2024))
242
243
  ```
243
244
 
245
+ ```typescript [TypeScript]
246
+ await db.query(
247
+ "SELECT path FROM './*.json' WHERE content ->> 'advice' = :advice",
248
+ { advice: text },
249
+ );
250
+ await db.query("SELECT * FROM notes WHERE author = ? AND year = ?", ["ann", 2024]);
251
+ // queryOrdered takes params the same way.
252
+ ```
253
+
244
254
  ```rust [Rust]
245
255
  use dirsql::{Params, Value};
246
256
  use std::collections::HashMap;
@@ -259,20 +269,23 @@ db.query_with(
259
269
 
260
270
  :::
261
271
 
262
- TypeScript does not take bind parameters yet.
263
-
264
272
  - Values bind as SQLite's native types. Python accepts `None`, `int`
265
273
  (`bool` binds as `0`/`1`), `float`, `str`, `bytes` and `bytearray`;
266
274
  anything else raises `TypeError` rather than being stringified, and an
267
- `int` outside the signed 64-bit range raises `OverflowError`. Rust binds a
268
- `Value`.
275
+ `int` outside the signed 64-bit range raises `OverflowError`. TypeScript
276
+ accepts `null`, `number` (an integral value binds as an INTEGER, any other
277
+ as a REAL, so `1.0` binds as `1`), `bigint`, `boolean` (`0`/`1`), `string`,
278
+ and `Buffer` / `Uint8Array`; anything else, `undefined` included, rejects
279
+ with a `TypeError`, and a `bigint` outside the signed 64-bit range with a
280
+ `RangeError`. Rust binds a `Value`.
269
281
  - The params must fit the placeholders exactly, or the query fails with an
270
282
  error naming the problem: a wrong count for a sequence, a placeholder name
271
283
  the mapping lacks, a mapping key no placeholder uses, or a sequence for
272
284
  named placeholders (and a mapping for `?`). Python raises a
273
285
  `RuntimeError` for these, and a `TypeError` when `params` is neither a
274
- sequence nor a mapping (a `str` counts as neither). Rust returns
275
- `DbError::Params`.
286
+ sequence nor a mapping (a `str` counts as neither). TypeScript rejects
287
+ with an `Error` for these, and a `TypeError` when `params` is neither an
288
+ array nor a plain object. Rust returns `DbError::Params`.
276
289
  - Without `params`, a statement with placeholders fails the same way: a
277
290
  placeholder is never left unbound.
278
291
 
@@ -311,11 +324,12 @@ round-trips.
311
324
  ::: code-group
312
325
 
313
326
  ```typescript [TypeScript]
314
- await db.queryOrdered(sql: string) -> { columns: string[]; rows: Record<string, unknown>[] }
327
+ await db.queryOrdered(sql: string, params?: unknown[] | Record<string, unknown> | null) -> { columns: string[]; rows: Record<string, unknown>[] }
315
328
  ```
316
329
 
317
330
  ```rust [Rust]
318
331
  db.query_ordered(sql: &str) -> Result<QueryResult> // QueryResult { columns, rows }
332
+ db.query_ordered_with(sql: &str, params: &Params) -> Result<QueryResult>
319
333
  ```
320
334
 
321
335
  :::
@@ -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.132"
7
+ version = "0.4.134"
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 @@
1
+ **Fixed** JSON numbers from `on-file` hooks and worker functions now parse to the exact double: `123456789.12345679` was stored one ULP off as `123456789.1234568`.
@@ -212,7 +212,7 @@ await db.query(sql: str, params: Sequence | Mapping | None = None) -> list[dict]
212
212
  ```
213
213
 
214
214
  ```typescript [TypeScript]
215
- await db.query(sql: string) -> Record<string, unknown>[]
215
+ await db.query(sql: string, params?: unknown[] | Record<string, unknown> | null) -> Record<string, unknown>[]
216
216
  // Runs on the libuv threadpool; the JS event loop stays responsive.
217
217
  ```
218
218
 
@@ -227,8 +227,9 @@ Executes a SQL query and returns rows keyed by column name.
227
227
 
228
228
  **Bind parameters.** `params` reaches SQLite's own parameter binding; the
229
229
  values never enter the SQL text, so text holding quotes needs no escaping.
230
- A sequence fills `?` placeholders in order; a mapping fills `:name`
231
- placeholders, keyed by the name without its prefix. It works for path-tables
230
+ A sequence (a TypeScript array) fills `?` placeholders in order; a mapping
231
+ (a TypeScript plain object) fills `:name`, `@name` and `$name` placeholders,
232
+ keyed by the name without its prefix. It works for path-tables
232
233
  and declared tables alike:
233
234
 
234
235
  ::: code-group
@@ -241,6 +242,15 @@ await db.query(
241
242
  await db.query("SELECT * FROM notes WHERE author = ? AND year = ?", ("ann", 2024))
242
243
  ```
243
244
 
245
+ ```typescript [TypeScript]
246
+ await db.query(
247
+ "SELECT path FROM './*.json' WHERE content ->> 'advice' = :advice",
248
+ { advice: text },
249
+ );
250
+ await db.query("SELECT * FROM notes WHERE author = ? AND year = ?", ["ann", 2024]);
251
+ // queryOrdered takes params the same way.
252
+ ```
253
+
244
254
  ```rust [Rust]
245
255
  use dirsql::{Params, Value};
246
256
  use std::collections::HashMap;
@@ -259,20 +269,23 @@ db.query_with(
259
269
 
260
270
  :::
261
271
 
262
- TypeScript does not take bind parameters yet.
263
-
264
272
  - Values bind as SQLite's native types. Python accepts `None`, `int`
265
273
  (`bool` binds as `0`/`1`), `float`, `str`, `bytes` and `bytearray`;
266
274
  anything else raises `TypeError` rather than being stringified, and an
267
- `int` outside the signed 64-bit range raises `OverflowError`. Rust binds a
268
- `Value`.
275
+ `int` outside the signed 64-bit range raises `OverflowError`. TypeScript
276
+ accepts `null`, `number` (an integral value binds as an INTEGER, any other
277
+ as a REAL, so `1.0` binds as `1`), `bigint`, `boolean` (`0`/`1`), `string`,
278
+ and `Buffer` / `Uint8Array`; anything else, `undefined` included, rejects
279
+ with a `TypeError`, and a `bigint` outside the signed 64-bit range with a
280
+ `RangeError`. Rust binds a `Value`.
269
281
  - The params must fit the placeholders exactly, or the query fails with an
270
282
  error naming the problem: a wrong count for a sequence, a placeholder name
271
283
  the mapping lacks, a mapping key no placeholder uses, or a sequence for
272
284
  named placeholders (and a mapping for `?`). Python raises a
273
285
  `RuntimeError` for these, and a `TypeError` when `params` is neither a
274
- sequence nor a mapping (a `str` counts as neither). Rust returns
275
- `DbError::Params`.
286
+ sequence nor a mapping (a `str` counts as neither). TypeScript rejects
287
+ with an `Error` for these, and a `TypeError` when `params` is neither an
288
+ array nor a plain object. Rust returns `DbError::Params`.
276
289
  - Without `params`, a statement with placeholders fails the same way: a
277
290
  placeholder is never left unbound.
278
291
 
@@ -311,11 +324,12 @@ round-trips.
311
324
  ::: code-group
312
325
 
313
326
  ```typescript [TypeScript]
314
- await db.queryOrdered(sql: string) -> { columns: string[]; rows: Record<string, unknown>[] }
327
+ await db.queryOrdered(sql: string, params?: unknown[] | Record<string, unknown> | null) -> { columns: string[]; rows: Record<string, unknown>[] }
315
328
  ```
316
329
 
317
330
  ```rust [Rust]
318
331
  db.query_ordered(sql: &str) -> Result<QueryResult> // QueryResult { columns, rows }
332
+ db.query_ordered_with(sql: &str, params: &Params) -> Result<QueryResult>
319
333
  ```
320
334
 
321
335
  :::
@@ -0,0 +1,7 @@
1
+ {
2
+ "command": "uv run python -m pytest tests/e2e/on_file_query_test.py tests/e2e/jsonl_parse_speed_test.py tests/e2e/use_case_transcripts_test.py tests/e2e/query_contract_test.py -x -q",
3
+ "ran_at": 1793814794,
4
+ "exit_code": 0,
5
+ "commit": "4696a76d81c3080df86c416ef418d3d9b2dc0062",
6
+ "branch": "bot/1586-float-roundtrip-1104"
7
+ }
@@ -0,0 +1,21 @@
1
+ ### Exact JSON float parsing
2
+
3
+ #### Summary
4
+
5
+ A JSON float an `on-file` hook or worker function prints is stored as the correctly rounded REAL, where some were one ULP off before. No API or configuration changes are required.
6
+
7
+ #### Required changes
8
+
9
+ _None._
10
+
11
+ #### Deprecations removed
12
+
13
+ _None._
14
+
15
+ #### Behavior changes without code changes
16
+
17
+ A REAL column fed from JSON can hold a value one ULP different from before the upgrade: the correct one.
18
+
19
+ #### Verification
20
+
21
+ In an empty directory, write `{"v":123456789.12345679}` to `a.ndjson` and run `dirsql query "SELECT v = 123456789.12345679 AS eq FROM './a.ndjson'" --on-file cat --format json`; the output is `[{"eq":1}]`.
@@ -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.132"
9
+ version = "0.4.134"
10
10
  edition.workspace = true
11
11
  # Literal `license` (not `license.workspace = true`) because
12
12
  # putitoutthere's preflight check reads `[package].license` directly
@@ -212,7 +212,7 @@ await db.query(sql: str, params: Sequence | Mapping | None = None) -> list[dict]
212
212
  ```
213
213
 
214
214
  ```typescript [TypeScript]
215
- await db.query(sql: string) -> Record<string, unknown>[]
215
+ await db.query(sql: string, params?: unknown[] | Record<string, unknown> | null) -> Record<string, unknown>[]
216
216
  // Runs on the libuv threadpool; the JS event loop stays responsive.
217
217
  ```
218
218
 
@@ -227,8 +227,9 @@ Executes a SQL query and returns rows keyed by column name.
227
227
 
228
228
  **Bind parameters.** `params` reaches SQLite's own parameter binding; the
229
229
  values never enter the SQL text, so text holding quotes needs no escaping.
230
- A sequence fills `?` placeholders in order; a mapping fills `:name`
231
- placeholders, keyed by the name without its prefix. It works for path-tables
230
+ A sequence (a TypeScript array) fills `?` placeholders in order; a mapping
231
+ (a TypeScript plain object) fills `:name`, `@name` and `$name` placeholders,
232
+ keyed by the name without its prefix. It works for path-tables
232
233
  and declared tables alike:
233
234
 
234
235
  ::: code-group
@@ -241,6 +242,15 @@ await db.query(
241
242
  await db.query("SELECT * FROM notes WHERE author = ? AND year = ?", ("ann", 2024))
242
243
  ```
243
244
 
245
+ ```typescript [TypeScript]
246
+ await db.query(
247
+ "SELECT path FROM './*.json' WHERE content ->> 'advice' = :advice",
248
+ { advice: text },
249
+ );
250
+ await db.query("SELECT * FROM notes WHERE author = ? AND year = ?", ["ann", 2024]);
251
+ // queryOrdered takes params the same way.
252
+ ```
253
+
244
254
  ```rust [Rust]
245
255
  use dirsql::{Params, Value};
246
256
  use std::collections::HashMap;
@@ -259,20 +269,23 @@ db.query_with(
259
269
 
260
270
  :::
261
271
 
262
- TypeScript does not take bind parameters yet.
263
-
264
272
  - Values bind as SQLite's native types. Python accepts `None`, `int`
265
273
  (`bool` binds as `0`/`1`), `float`, `str`, `bytes` and `bytearray`;
266
274
  anything else raises `TypeError` rather than being stringified, and an
267
- `int` outside the signed 64-bit range raises `OverflowError`. Rust binds a
268
- `Value`.
275
+ `int` outside the signed 64-bit range raises `OverflowError`. TypeScript
276
+ accepts `null`, `number` (an integral value binds as an INTEGER, any other
277
+ as a REAL, so `1.0` binds as `1`), `bigint`, `boolean` (`0`/`1`), `string`,
278
+ and `Buffer` / `Uint8Array`; anything else, `undefined` included, rejects
279
+ with a `TypeError`, and a `bigint` outside the signed 64-bit range with a
280
+ `RangeError`. Rust binds a `Value`.
269
281
  - The params must fit the placeholders exactly, or the query fails with an
270
282
  error naming the problem: a wrong count for a sequence, a placeholder name
271
283
  the mapping lacks, a mapping key no placeholder uses, or a sequence for
272
284
  named placeholders (and a mapping for `?`). Python raises a
273
285
  `RuntimeError` for these, and a `TypeError` when `params` is neither a
274
- sequence nor a mapping (a `str` counts as neither). Rust returns
275
- `DbError::Params`.
286
+ sequence nor a mapping (a `str` counts as neither). TypeScript rejects
287
+ with an `Error` for these, and a `TypeError` when `params` is neither an
288
+ array nor a plain object. Rust returns `DbError::Params`.
276
289
  - Without `params`, a statement with placeholders fails the same way: a
277
290
  placeholder is never left unbound.
278
291
 
@@ -311,11 +324,12 @@ round-trips.
311
324
  ::: code-group
312
325
 
313
326
  ```typescript [TypeScript]
314
- await db.queryOrdered(sql: string) -> { columns: string[]; rows: Record<string, unknown>[] }
327
+ await db.queryOrdered(sql: string, params?: unknown[] | Record<string, unknown> | null) -> { columns: string[]; rows: Record<string, unknown>[] }
315
328
  ```
316
329
 
317
330
  ```rust [Rust]
318
331
  db.query_ordered(sql: &str) -> Result<QueryResult> // QueryResult { columns, rows }
332
+ db.query_ordered_with(sql: &str, params: &Params) -> Result<QueryResult>
319
333
  ```
320
334
 
321
335
  :::
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