You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[SEA-NodeJS] Rename SEA → kernel across the driver (useSEA → useKernel)
The kernel backend can sit on top of any wire protocol (today SEA/Statement
Execution API, tomorrow others), so the driver should not brand its path "SEA".
This renames the driver-layer surface to "kernel" while preserving genuine
references to the SEA wire protocol the kernel happens to speak.
- Public option `useSEA` → `useKernel` (matches the python connector's
`use_kernel=True`).
- `lib/sea/` → `lib/kernel/`, `Sea*` classes/types → `Kernel*`
(KernelBackend, KernelSessionBackend, KernelOperationBackend, KernelAuth,
KernelNativeLoader, KernelServerInfo, KernelPositionalParams, …).
- `tests/unit/sea/` → `tests/unit/kernel/`, `tests/e2e/sea/` →
`tests/e2e/kernel/` (+ Sea*-named test files renamed).
- `native/sea/` → `native/kernel/` (binding dir) with build:native / prepack /
loader require path / .gitignore / .prettierignore / .npmignore /
.gitattributes / kernel-e2e.yml all updated. The committed napi artifacts
(index.d.ts / index.js) are restored byte-for-byte from the generated
originals so the kernel-e2e drift-guard still matches a fresh build.
- Driver-prose comments ("SEA backend/path/operation/-only", binding error
messages, …) → "kernel". PRESERVED the ~8 genuine protocol references
("the SEA REST protocol", "Statement Execution API (SEA)", "SEA wire",
SEA `CreateSession` wire fields) since those describe the actual protocol,
not our path.
Stacked on the KERNEL_REV pin PR. tsc + lint + prettier clean; full unit
suite green (1148); `useKernel: true` validated end-to-end against a live
warehouse. No public `useSEA` references remain anywhere in the tree.
Co-authored-by: Isaac
Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>
# Run when the SEA driver layer, the napi binding contract, SEA
160
+
# Run when the kernel driver layer, the napi binding contract, kernel
161
161
# e2e tests, this workflow, the kernel revision pin, or core deps
162
162
# move.
163
-
if echo "$CHANGED" | grep -qE "^(lib/sea/|native/sea/|tests/e2e/sea/|tests/unit/sea/|\.github/workflows/kernel-e2e\.yml|KERNEL_REV|package\.json|package-lock\.json)"; then
163
+
if echo "$CHANGED" | grep -qE "^(lib/kernel/|native/kernel/|tests/e2e/kernel/|tests/unit/kernel/|\.github/workflows/kernel-e2e\.yml|KERNEL_REV|package\.json|package-lock\.json)"; then
# The committed native/sea/index.d.ts + index.js are the consumer-facing
284
+
# The committed native/kernel/index.d.ts + index.js are the consumer-facing
285
285
# type contract + platform router; they MUST correspond to the pinned
286
286
# kernel. build:native just regenerated them from the KERNEL_REV
287
287
# checkout, so any diff means the committed contract drifted from the
288
288
# pin — fail loudly and tell the author to commit the regenerated files.
289
289
# (The .node binaries are gitignored, so git diff only sees the contract.)
290
290
run: |
291
-
if ! git diff --exit-code -- native/sea/index.d.ts native/sea/index.js; then
292
-
echo "::error::native/sea/index.d.ts / index.js are out of sync with KERNEL_REV ($(tr -d '[:space:]' < KERNEL_REV)). Run 'npm run build:native' against that kernel SHA and commit native/sea/index.*."
291
+
if ! git diff --exit-code -- native/kernel/index.d.ts native/kernel/index.js; then
292
+
echo "::error::native/kernel/index.d.ts / index.js are out of sync with KERNEL_REV ($(tr -d '[:space:]' < KERNEL_REV)). Run 'npm run build:native' against that kernel SHA and commit native/kernel/index.*."
293
293
exit 1
294
294
fi
295
295
echo "Committed binding matches KERNEL_REV."
296
296
297
297
- name: Smoke-check binding loads
298
-
run: node -e "const b=require('./native/sea'); if(typeof b.version!=='function'){throw new Error('napi binding failed to load')} console.log('kernel binding ok:', b.version())"
298
+
run: node -e "const b=require('./native/kernel'); if(typeof b.version!=='function'){throw new Error('napi binding failed to load')} console.log('kernel binding ok:', b.version())"
299
299
300
-
- name: Run SEA e2e tests
300
+
- name: Run kernel e2e tests
301
301
# Invoke mocha directly rather than via `npm run e2e -- <glob>`: routing a
302
302
# glob through the npm-script's inner shell mangles `**` and silently
303
303
# resolves to ZERO files (a false pass). mocha expands the quoted glob
304
-
# itself, reliably matching every tests/e2e/sea file.
0 commit comments