@sanbus/galley-bun 0.0.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffi.js","sourceRoot":"","sources":["../src/ffi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Galley JavaScript bindings for Bun — public surface.
3
+ *
4
+ * Binds the runtime-neutral `@sanbus/galley-core` to the `bun:ffi` port. Mirrors
5
+ * the layout of `bindings/python/galley.pyi` and the C header
6
+ * `bindings/c/galley.h`.
7
+ */
8
+ import { findLibrary } from "./ffi.ts";
9
+ import { Session } from "./session.ts";
10
+ export * from "@sanbus/galley-core";
11
+ export { Session };
12
+ export { findLibrary };
13
+ export { getBunPort, libFileName } from "./ffi.ts";
14
+ export type { SessionOptions, WalkStep, Diagnostic, TreeSnapshot } from "@sanbus/galley-core";
15
+ export declare function version(): string;
16
+ export declare function parserType(): number;
17
+ export declare function errorRecoveryMode(): number;
18
+ export declare function hasAst(): boolean;
19
+ export declare function hasProcedures(): boolean;
20
+ export declare function allowsNoAstTreeProcedures(): boolean;
21
+ export declare function sourceRetentionEnabled(): boolean;
22
+ export declare function hasPositionTracking(): boolean;
23
+ export declare function hasInputStreaming(): boolean;
24
+ export declare function usesVerbatim(): boolean;
25
+ export declare function stackOverflowRecoveryAvailable(): boolean;
26
+ export declare function symbolCount(): number;
27
+ export declare function variableCount(): number;
28
+ export declare function statusString(status: number): string | null;
29
+ export declare const has_ast: typeof hasAst;
30
+ export declare const has_procedures: typeof hasProcedures;
31
+ export declare const has_position_tracking: typeof hasPositionTracking;
package/dist/index.js ADDED
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Galley JavaScript bindings for Bun — public surface.
3
+ *
4
+ * Binds the runtime-neutral `@sanbus/galley-core` to the `bun:ffi` port. Mirrors
5
+ * the layout of `bindings/python/galley.pyi` and the C header
6
+ * `bindings/c/galley.h`.
7
+ */
8
+ import { getBunPort, findLibrary } from "./ffi.js";
9
+ import { Session } from "./session.js";
10
+ // Core surface (Session base is shadowed by the adapter subclass below).
11
+ export * from "@sanbus/galley-core";
12
+ export { Session };
13
+ export { findLibrary };
14
+ export { getBunPort, libFileName } from "./ffi.js";
15
+ // Module-level queries (mirror galley.h)
16
+ export function version() {
17
+ return getBunPort().version();
18
+ }
19
+ export function parserType() {
20
+ return getBunPort().parserType();
21
+ }
22
+ export function errorRecoveryMode() {
23
+ return getBunPort().errorRecoveryMode();
24
+ }
25
+ export function hasAst() {
26
+ return getBunPort().hasAst();
27
+ }
28
+ export function hasProcedures() {
29
+ return getBunPort().hasProcedures();
30
+ }
31
+ export function allowsNoAstTreeProcedures() {
32
+ return getBunPort().allowsNoAstTreeProcedures();
33
+ }
34
+ export function sourceRetentionEnabled() {
35
+ return getBunPort().sourceRetentionEnabled();
36
+ }
37
+ export function hasPositionTracking() {
38
+ return getBunPort().hasPositionTracking();
39
+ }
40
+ export function hasInputStreaming() {
41
+ return getBunPort().hasInputStreaming();
42
+ }
43
+ export function usesVerbatim() {
44
+ return getBunPort().usesVerbatim();
45
+ }
46
+ export function stackOverflowRecoveryAvailable() {
47
+ return getBunPort().stackOverflowRecoveryAvailable();
48
+ }
49
+ export function symbolCount() {
50
+ return getBunPort().symbolCount();
51
+ }
52
+ export function variableCount() {
53
+ return getBunPort().variableCount();
54
+ }
55
+ export function statusString(status) {
56
+ return getBunPort().statusString(status);
57
+ }
58
+ // Preserve original Python naming aliases for docs parity
59
+ export const has_ast = hasAst;
60
+ export const has_procedures = hasProcedures;
61
+ export const has_position_tracking = hasPositionTracking;
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,yEAAyE;AACzE,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGnD,yCAAyC;AACzC,MAAM,UAAU,OAAO;IACrB,OAAO,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,EAAE,CAAC,iBAAiB,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,OAAO,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,EAAE,CAAC,aAAa,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,UAAU,EAAE,CAAC,yBAAyB,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,UAAU,EAAE,CAAC,sBAAsB,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,EAAE,CAAC,mBAAmB,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,EAAE,CAAC,iBAAiB,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,EAAE,CAAC,YAAY,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,UAAU,EAAE,CAAC,8BAA8B,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,EAAE,CAAC,aAAa,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC;AAC9B,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Bun `Session`: the core session bound to the `bun:ffi` port.
3
+ *
4
+ * Installs the host-procedure dispatch for the session's library (mirrors
5
+ * Node's import-time shim setup); the installer is a no-op for libraries
6
+ * built for C procedures.
7
+ */
8
+ import { Session as CoreSession } from "@sanbus/galley-core";
9
+ import type { SessionOptions } from "@sanbus/galley-core";
10
+ export type { SessionOptions };
11
+ export declare class Session extends CoreSession {
12
+ constructor(options?: SessionOptions);
13
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Bun `Session`: the core session bound to the `bun:ffi` port.
3
+ *
4
+ * Installs the host-procedure dispatch for the session's library (mirrors
5
+ * Node's import-time shim setup); the installer is a no-op for libraries
6
+ * built for C procedures.
7
+ */
8
+ import { Session as CoreSession } from "@sanbus/galley-core";
9
+ import { getBunPort } from "./ffi.js";
10
+ import { ensureDispatchFor } from "./dispatch.js";
11
+ export class Session extends CoreSession {
12
+ constructor(options = {}) {
13
+ const port = getBunPort(options.libraryPath);
14
+ try {
15
+ ensureDispatchFor(port);
16
+ }
17
+ catch {
18
+ // installer missing (C build) — ignore.
19
+ }
20
+ super(port, options);
21
+ }
22
+ }
23
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIlD,MAAM,OAAO,OAAQ,SAAQ,WAAW;IACtC,YAAY,OAAO,GAAmB,EAAE;QACtC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;QACD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;CACF"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@sanbus/galley-bun",
3
+ "version": "0.0.1",
4
+ "description": "Galley JavaScript bindings for Bun (@sanbus/galley-core over bun:ffi and bindings/c/galley.h)",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "src",
18
+ "build.mjs",
19
+ "README.md"
20
+ ],
21
+ "bin": {
22
+ "@sanbus/galley-bun": "./build.mjs"
23
+ },
24
+ "scripts": {
25
+ "build": "tsc -p tsconfig.json",
26
+ "prebuild": "test -d ../core && ((command -v bun >/dev/null && bun --cwd ../core install --silent && bun --cwd ../core run build) || (command -v npm >/dev/null && npm --prefix ../core install --no-audit --no-fund && npm --prefix ../core run build)) >/dev/null 2>&1; if test ! -L node_modules/@sanbus/galley-core -a -d ../core/dist; then rm -rf node_modules/@sanbus/galley-core/dist && cp -R ../core/dist node_modules/@sanbus/galley-core/dist; fi >/dev/null 2>&1; exit 0",
27
+ "prepare": "tsc -p tsconfig.json --noCheck --types \"\"",
28
+ "prepublishOnly": "npm run build",
29
+ "test": "bun tests/test_bindings.mjs"
30
+ },
31
+ "keywords": [
32
+ "galley",
33
+ "parser",
34
+ "javascript",
35
+ "typescript",
36
+ "ffi",
37
+ "bun"
38
+ ],
39
+ "dependencies": {
40
+ "@sanbus/galley-core": "0.0.1"
41
+ },
42
+ "devDependencies": {
43
+ "@types/bun": "^1.2.0",
44
+ "typescript": "^7.0.2"
45
+ },
46
+ "engines": {
47
+ "bun": ">=1.0"
48
+ }
49
+ }
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Bun procedure-dispatch installer.
3
+ *
4
+ * Owns the `JSCallback` that the shared JS shim
5
+ * (`galley_install_js_dispatch_id`, generated by `@sanbus/galley-core/build/shim.mjs`)
6
+ * forwards every parser hook through, plus the `require()`-based auto-scan
7
+ * of `procedures.*` in the language directory (Bun loads TypeScript
8
+ * synchronously, like Node). The registry and the ID-to-name dispatcher
9
+ * live in the core; this module only bridges the native boundary.
10
+ * Libraries that predate integer hook IDs still export the name-carrying
11
+ * `galley_install_js_dispatch`, used as a fallback.
12
+ */
13
+
14
+ import { createRequire } from "node:module";
15
+ import * as path from "node:path";
16
+ import { JSCallback, FFIType, toArrayBuffer } from "bun:ffi";
17
+
18
+ import { dispatchProcedure, installProcedures, listProcedures } from "@sanbus/galley-core";
19
+ import type { FfiPort } from "@sanbus/galley-core";
20
+ import type { BunPort } from "./ffi.ts";
21
+
22
+ const require = createRequire(import.meta.url);
23
+ const textDecoder = new TextDecoder();
24
+
25
+ // Held to prevent GC of the callbacks; installed per library path.
26
+ // ID and name paths keep separate slots: their signatures differ.
27
+ let dispatchIdCallback: unknown = null;
28
+ let dispatchIdPointer: number | null = null;
29
+ let dispatchCallback: unknown = null;
30
+ let dispatchPointer: number | null = null;
31
+ const installedFor = new Set<string>();
32
+ let autoAttempted = false;
33
+
34
+ function isProcedureName(name: string): boolean {
35
+ return name === "reduction" || name.startsWith("reduction_") || name.startsWith("hook_");
36
+ }
37
+
38
+ function tryAutoRegister(libPath: string): void {
39
+ if (listProcedures().length > 0 || autoAttempted) return;
40
+ autoAttempted = true;
41
+ const tryLoadModule = (modulePath: string): boolean => {
42
+ try {
43
+ const loadedModule = require(modulePath) as Record<string, unknown>;
44
+ let hasHook = false;
45
+ for (const [name, value] of Object.entries(loadedModule)) {
46
+ if (typeof value !== "function" || !isProcedureName(name)) continue;
47
+ hasHook = true;
48
+ break;
49
+ }
50
+ if (hasHook) return installProcedures(loadedModule) > 0;
51
+ const defaultExport = (loadedModule as Record<string, unknown>).default as
52
+ | Record<string, unknown>
53
+ | undefined;
54
+ if (defaultExport && typeof defaultExport === "object") {
55
+ return installProcedures(defaultExport) > 0;
56
+ }
57
+ } catch {}
58
+ return false;
59
+ };
60
+
61
+ // One place: the directory holding the loaded library. Anything found
62
+ // there belongs to this grammar; nothing else is even looked at.
63
+ const baseDirectory = path.dirname(libPath);
64
+ const extensions = ["", ".js", ".ts"];
65
+ for (const extension of extensions) {
66
+ if (tryLoadModule(path.join(baseDirectory, `procedures${extension}`))) return;
67
+ }
68
+ }
69
+
70
+ export function ensureDispatchFor(port: BunPort & FfiPort): void {
71
+ if (!port.supportsDispatch) {
72
+ // Library was built for C procedures (no shim); installs will be no-ops.
73
+ return;
74
+ }
75
+ tryAutoRegister(port.libraryPath);
76
+ if (installedFor.has(port.libraryPath)) return;
77
+ if (
78
+ typeof port.native.galley_install_js_dispatch_id === "function" &&
79
+ port.procedureNames().length > 0
80
+ ) {
81
+ installIdDispatch(port);
82
+ } else {
83
+ installNameDispatch(port);
84
+ }
85
+ installedFor.add(port.libraryPath);
86
+ }
87
+
88
+ function installIdDispatch(port: BunPort & FfiPort): void {
89
+ if (dispatchIdCallback === null) {
90
+ // Integer hook IDs: no string copy or decode on the hot path. The table
91
+ // is fixed per library build; unknown IDs are silent no-ops.
92
+ const table = port.procedureNames();
93
+ const cb = new JSCallback(
94
+ (id: number, argsPtr: number) => {
95
+ const name = table[id];
96
+ if (name === undefined) return;
97
+ dispatchProcedure(name, argsPtr, port);
98
+ },
99
+ { args: [FFIType.u32, FFIType.ptr], returns: FFIType.void },
100
+ );
101
+ // Prevent GC — the trampoline must stay reachable for the process lifetime.
102
+ (globalThis as unknown as Record<string, unknown>).__galley_js_dispatchIdCallback = cb;
103
+ dispatchIdCallback = cb;
104
+ dispatchIdPointer = cb.ptr;
105
+ }
106
+ try {
107
+ (port.native.galley_install_js_dispatch_id as (callback: number) => void)(
108
+ dispatchIdPointer as number,
109
+ );
110
+ } catch {
111
+ // Installer resolution is lazy on some runtimes; a missing installer
112
+ // means a C-procedures library — installs stay no-ops.
113
+ }
114
+ }
115
+
116
+ function installNameDispatch(port: BunPort & FfiPort): void {
117
+ if (dispatchCallback === null) {
118
+ // Signature mirrors Zig: fn([*]const u8, usize, ?*anyopaque) callconv(.c) void.
119
+ // Note: usize arrives as bigint in callbacks.
120
+ const cb = new JSCallback(
121
+ (namePtr: number, nameLen: bigint, argsPtr: number) => {
122
+ if (!namePtr) return;
123
+ let name: string;
124
+ try {
125
+ const bytes = toArrayBuffer(namePtr, 0, Number(nameLen)) as ArrayBuffer;
126
+ name = textDecoder.decode(bytes);
127
+ } catch (e) {
128
+ console.error("galley procedure dispatch: failed to decode name", e);
129
+ return;
130
+ }
131
+ dispatchProcedure(name, argsPtr, port);
132
+ },
133
+ { args: [FFIType.ptr, FFIType.u64, FFIType.ptr], returns: FFIType.void },
134
+ );
135
+ // Prevent GC — the trampoline must stay reachable for the process lifetime.
136
+ (globalThis as unknown as Record<string, unknown>).__galley_js_dispatchCallback = cb;
137
+ dispatchCallback = cb;
138
+ dispatchPointer = cb.ptr;
139
+ }
140
+ try {
141
+ port.native.galley_install_js_dispatch(dispatchPointer as number);
142
+ } catch {
143
+ // Installer resolution is lazy on some runtimes; a missing installer
144
+ // means a C-procedures library — installs stay no-ops.
145
+ }
146
+ }