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
Add executor generate: typed TypeScript client for the tool catalog
Running executor generate against an instance writes one self-contained
TypeScript file: a dependency-free Proxy-based runtime client plus full
input/output types for every visible tool, so
client.github.org.main.issues.create({ title }) is typed end to end and
executes through the server's /api/executions endpoint (auth, policies,
approvals included).
New pieces:
- tools.export SDK surface + GET /tools/export: the bulk schema-bearing
catalog read (schemas + trimmed shared $defs, grouped per connection,
policy-filtered), one request regardless of catalog size.
- compileToolChunkTypeScript: compiles many tools per compiler pass. Per-tool
passes pay fixed overhead thousands of times and one whole-catalog pass is
super-linear (30s+ at 10k tools); 200-tool chunks generate a 10k-tool
catalog in ~400ms.
- generateToolProxySource: assembles the generated file (type-only namespaces
per connection, ExecutorTools path tree, embedded runtime).
- executor generate CLI command with --output/--integration/--connection/
--include-static, reusing the server-target and auth machinery.
Tested down to the wire: generated source is typechecked with the real
compiler (valid calls accept, invalid reject), the transpiled runtime is
imported and run against a fake fetch (completed/paused/injection paths),
and a scale test ingests a 10,000-operation OpenAPI spec through addSpec and
proves export + generate + strict typecheck hold up with regression
tripwires on time.