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
(`libpilot.dylib` / `libpilot.so` / `libpilot.dll`) that other
5
-
language SDKs link against via FFI:
3
+
Pilot Protocol C ABI. Builds a shared library (`libpilot.dylib` / `libpilot.so` / `libpilot.dll`) plus a C header (`libpilot.h`) that other language SDKs link against via FFI.
6
4
7
-
-**pilot-protocol/sdk-node** — Node.js via `koffi`
8
-
-**pilot-protocol/sdk-python** — Python via `ctypes`
9
-
- (future) Swift, Rust, etc.
5
+
The library embeds a full pilot daemon plus all the standard plugins (handshake, policy, runtime, skillinject, trustedagents, dataexchange, eventstream, webhook). FFI clients get a single in-process pilot node.
10
6
11
-
The library embeds a full pilot daemon plus all the standard plugins
The output `libpilot.h` is the C header consumers include or generate
30
-
bindings against. The `.dylib`/`.so`/`.dll` is the runtime library.
20
+
The output `libpilot.h` is the C header consumers include or generate bindings against. The `.dylib` / `.so` / `.dll` is the runtime library.
31
21
32
-
## Releasing
22
+
## Layout
33
23
34
-
Release workflow builds binaries for `linux/{amd64,arm64}`,
35
-
`darwin/{amd64,arm64}`, `windows/amd64` and attaches them to the
36
-
GitHub release. SDK repos pull the matching artifacts in their own
37
-
release pipelines.
24
+
| File | What it does |
25
+
|---|---|
26
+
|`bindings.go`| Exported `//export` C functions: `pilot_init`, `pilot_send`, `pilot_recv`, `pilot_close`, etc. |
27
+
|`embedded.go`| In-process daemon construction (runtime + plugins). |
38
28
39
-
## Why a separate repo
29
+
## Releases
40
30
41
-
CGo binaries don't compose well with pure-Go modules — putting the
42
-
`cgo` blob in the protocol repo's main module would force every
43
-
consumer onto a CGo-capable toolchain. Splitting it out keeps the
44
-
protocol modules pure-Go.
31
+
The release workflow builds binaries for `linux/{amd64,arm64}`, `darwin/{amd64,arm64}`, and `windows/amd64` and attaches them to the GitHub release. SDK repos pull the matching artifacts in their own release pipelines.
0 commit comments