Commit 7d73bf3
committed
feat(functions push): add --manifest path for non-SDK function types
The runner-based push path can only ship function types the Braintrust
SDK exposes builders for: tools, scorers, prompts, parameters. Topics-
pipeline types (facet, classifier) and inline-quickjs preprocessors
have no SDK builder, so AI-agent workflows that author lenses cannot
push them through `bt`.
`--manifest <path>` accepts a JSON object or array of objects matching
the wire shape `/insert-functions` already accepts (the same endpoint
`bt topics config enable` uses to create classifier functions). The
manifest path bypasses the runner entirely; auth, project resolution,
and `--if-exists` flow through the existing helpers.
Mutually exclusive with `--file`, positional file paths, `--runner`,
`--language`, `--requirements`, `--tsconfig`, and `--external-packages`,
since none of those apply when the SDK runner is skipped.
Closes #149.1 parent fd5aed7 commit 7d73bf3
6 files changed
Lines changed: 540 additions & 2 deletions
File tree
- src/functions
- tests
- functions-fixtures
- push-help-env-vars
- push-help-flags
- push-manifest-conflicts-with-files
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
270 | 270 | | |
271 | 271 | | |
272 | 272 | | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
273 | 285 | | |
274 | 286 | | |
275 | 287 | | |
| |||
687 | 699 | | |
688 | 700 | | |
689 | 701 | | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
690 | 731 | | |
691 | 732 | | |
692 | 733 | | |
| |||
0 commit comments